(Esistono alcune sfide che richiedono l'uso della migliore strategia, ma qui non lo facciamo. Anche se sei in grado di vincere, ti è permesso fare un pareggio)
Sfida
Scrivi un programma che riproduca il gioco tic-tac-toe. Non deve perdere (quindi, dovrebbe terminare il gioco con un pareggio o vincendo).
Metodi di I / O consentiti
- L'input potrebbe essere la scheda corrente. Puoi presumere che tutte le mosse precedenti del 2 ° giocatore siano state giocate dal tuo motore.
- L'input può essere la mossa del primo giocatore e la tua funzione memorizza le mosse avvenute in passato. In questo caso la funzione viene chiamata più volte, una volta per ogni mossa; o l'inserimento del prompt di funzione / programma per più volte.
- Puoi prendere un input aggiuntivo dicendo se sei il primo giocatore o scrivere due funzioni (possibilmente correlate) per risolvere il problema del primo giocatore e quello del secondo giocatore. Se il programma deve utilizzare il metodo di input 2 (chiamata multipla), è possibile decidere cosa viene passato nella prima chiamata.
- L'output può essere la tavola dopo il tuo turno.
- L'output potrebbe essere la tua mossa.
- Una mossa può essere rappresentata come una coppia di numeri (può essere 0-indicizzazione o 1-indicizzazione), un numero nell'intervallo 0 ~ 8 o un numero nell'intervallo 1 ~ 9.
- La scheda può essere rappresentata come un array 3 × 3 o un array di lunghezza 9. Anche se la lingua ha un array con indicizzazione 0, è possibile utilizzare 1-indicizzazione.
- Le celle della griglia può utilizzare qualsiasi 3 valori diversi per indicare
X
,O
e svuotare.
Criteri vincenti
Vincono il codice più corto in ogni lingua.
we can assume that all previous moves of the 2nd player were also played by our engine