Esercizi del 19/12/2022: programma main del gioco del tris
Questa esercitazione è per certi versi simile alle due precedenti, ma per altri versi completamente diversa. Nelle due precedenti esercitazioni abbiamo sviluppato dei giochi (l'impiccato e forza 4), partendo da un programma principale precostituito, e il nostro lavoro è consistito nello scrivere i metodi utilizzati da quest'ultimo. In questa esercitazione, invece, partiamo da metodi già scritti per lo sviluppo del gioco del tris (anche detto tic-tac-toe), e il nostro compito è quello di scrivere il programma principale (il metodo main).
Per svolgere gli esercizi, dovete prima di tutto scaricare i programmi delle lezione. Troverete un file chiamato Tris.java, composto da vari metodi. Prima di ogni metodo c'è un commento che ne spiega la funzione. È importante capire come il programma memorizzi lo stato del gioco. Nel Tris, lo stato del gioco dipende solo dai segni inseriti nella griglia di gioco. Questa informazione è memorizzata come un array bidimensionale di char, in maniera simile a come fatto nella esercitazione precedente con il gioco di Forza 4. Ogni posizione dell'array bidimensionale contiene o uno spazio (per indicare che quella posizione della griglia è vuota) o una X (per indicare la presenza del gettone del giocatore X) oppure una O (per indicare la presenza di un gettone del giocatore O). Ad esempio, il seguente array
char[][] board = {
{ 'O', ' ', 'O' },
{ 'O', 'X', ' ' },
{ 'X', 'X', ' ' }
}
rappresenta la griglia:
O| |OLa maggior parte dei metodi che trovate nel file Tris.java manipolano questo array eseguendo operazioni che corrispondono ad azioni nel gioco del Tris (muovere, determinare se qualcuno ha vinto, disegnare la griglia di gioco, etc...).
-----
O|X|
-----
X|X|
Esercizio 0
Esercizio 1
Esercizio 2
Esercizio 3
Scrivere un metodo main implementi il gioco del tris tra un giocatore umano (che gioca con la X) e il computer (che gioca con la O). Il giocatore umano sceglie le mosse da fare immettendo le coordinate da tastiera (il vostro programma passerà queste coordinate al metodo movePlayer). Il computer gioca invece tramite il metodo moveComputer. Ovviamente il gioco si ferma o quando uno dei due vince, o quando non ci sono più mosse valide (e in questo caso si tratta di un pareggio).
Esercizio 4
Modificare il merodo moveComputer per scegliere le mosse in maniera casuale invece che scegliere la prima casella libera come è attualmente.