Exemplo n.º 1
0
 def metti_in_passate(self, giocatore, carta):
     Card.del_carta(giocatore.player_state.mano.val,
                    carta)  # tolgo la carta dalla mano
     giocatore.player_state.mano.rep_val()  # non lo fa in automatico credo
     giocatore.player_state.scambiate.val.append(
         carta)  # la metto in quelle scambiate
     giocatore.player_state.scambiate.rep_val()
     self.ceck_fine_passaggio()
Exemplo n.º 2
0
 def check_cappotto(self):
     for g_esaminato in self.lista_player:
         if GameMode.ha_preso_carta(g_esaminato,
                                    Card(Card.DONNA,
                                         Card.PICCHE)):  # se ha cunegonda
             for val in Card.VALORI:
                 if not GameMode.ha_preso_carta(
                         g_esaminato, Card(val,
                                           Card.CUORI)):  # manca un cuore
                     return  # se quello che ha la cune non ha un cuore allora niente cappotto
             # se arrivo qui allor aho cappotto quindi setto tutti a -20 tranne g a cui do 60
             for g_da_cambiare in self.lista_player:
                 if g_da_cambiare == g_esaminato:
                     g_da_cambiare.punteggio = 60
                 else:
                     g_da_cambiare.punteggio = -20
Exemplo n.º 3
0
 def metti_in_giocata(self, index, carta):
     Card.del_carta(self.lista_player[index].player_state.mano.val,
                    carta)  # tolgo la carta dalla mano
     self.lista_player[index].player_state.mano.rep_val(
     )  # non lo fa in automatico credo
     self.game_state.lista_player[
         index].carta_giocata.val = carta  # la metto nelle giocate
     self.questo_giro.append(
         carta)  # mi salvo le carte giocate nella gamemode
     if self.game_state.turno.val == self.primo:
         self.seme_giro = carta.seme  # il primo decide il seme del giro
     if self.game_state.turno.val == self.ultimo:
         self.risolvi_questo_giro()
     else:
         turno = (self.game_state.turno.val + 1) % 4
         self.game_state.turno.val = turno
Exemplo n.º 4
0
 def carta_client(
     self, index_g, carta
 ):  # controlla in che fase siamo e se si può adoperare la carta e poi faù
     giocatore = self.lista_player[
         index_g]  # giocatore è un private player type
     if Card.contiene_carta(giocatore.player_state.mano.val,
                            carta):  # se possiede davvero questa carta
         if self.game_state.fase_gioco.val == Fase.PASSAGGIO_CARTE:  # se le stiamo passando la metto nelle scambiate
             if len(giocatore.player_state.scambiate.val
                    ) < 3:  # se non ne ho già scambiate 3
                 self.metti_in_passate(giocatore, carta)
         elif self.game_state.fase_gioco.val == Fase.GIOCO and (
                 not self.pausa):  # se stiamo giocando e non è pausa
             if index_g == self.game_state.turno.val:  # se è il suo turno
                 if (index_g == self.primo or Card.carta_permessa(
                         giocatore.player_state.mano.val, self.seme_giro,
                         carta)):
                     self.metti_in_giocata(index_g, carta)
Exemplo n.º 5
0
 def fine_turno(self):
     for g in self.game_state.lista_player:  # svuoto giocate in ogni caso
         g.carta_giocata.val = Card()
     if len(self.lista_player[0].player_state.mano.val
            ) == 0:  # se un giocatore non ha carte (tutti le hanno finite)
         self.check_cappotto()
         for i in range(len(
                 self.lista_player)):  # aggiorno punteggi totali per tutti
             g_privat = self.lista_player[i]
             g_public = self.game_state.lista_player[i]
             g_public.punteggio_tot.val = g_public.punteggio_tot.val + g_privat.punteggio
             g_privat.punteggio = 0
             g_privat.carte_prese = []
         self.game_state.fase_gioco.val = Fase.FINE_PARTITA  # così gli HUD scrivono fine partita
         t = Timer(10, self.fine_partita)
         t.start()
     else:
         self.pausa = False
         self.game_state.turno.val = self.primo