Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    153

    tic tac toe verificare vittoria

    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
    cogli l'attimo

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    153
    hum si hai raggione grazie

    grazie
    cogli l'attimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.