PDA

Visualizza la versione completa : [Python] tic tac toe verificare vittoria


c_junior
08-08-2010, 15:40
ciao a tutti sto facendo un semplice giochino in python con pygame: TIC TAC TOE
ho la griglia in una matrice 3X3 dove memorizzo i segni due giocatori, in particolare:
-a inizio partita la matrice è inizializzata a 0
-se il primo giocatore clicca su una casella valida allora matrice[x][y], con x,y coordinate della casella, la metto a 1 mentre se a cliccare è l'altro giocatore allora la metto a 4!

ora vorrei sapere se c'è un modo più efficace di controllare se qualcuno a vinto?

io pensavo di fare cosi:
-siccome ci sono otto possibilità di vittoria pensavo di leggere la matricola
1)riga per riga
2)colonna per colonna
3)in diagonale
e sommare i valori se somma==3 o somma==12 allora qualcuno ha vinto


esiste un modo più efficace di questo? grazie

LeleFT
10-08-2010, 11:34
Sì: non ha senso controllare tutte le 8 possibilità di vittoria. Ti basta restringere il campo alla sola riga, colonna ed eventuale diagonale di dove è avvenuto il clic: non è possibile, infatti, che si verifichi un tris in una riga/colonna/diagonale diversa da quelle percorribili dal punto in cui si è messo il segno.
Mi spiego: se il giocatore ha cliccato nell'angolo in basso a destra il tris può essere stato fatto nella colonna più a destra, nella riga più in basso o nella diagonale principale. Non ha senso controllare la prime due righe, nemmeno le prime due colonne e nemmeno la diagonale segondaria.

Ciao. :ciauz:

c_junior
11-08-2010, 11:38
hum si hai raggione grazie

grazie :)

Loading