(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,Oe 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