Il progetto consiste nel realizzare un programma Python che implementa il gioco Campo minato. 

Breve descrizione del gioco

Il gioco si svolge su una griglia rettangolare. Alcune celle della griglia sono vuote, altre contengono una mina che al momento non è visibile. Il giocatore può, cliccando su una cella della griglia, scoprirla e rivelarne il contenuto. Se la cella contiene una mina, il gioco termina e il giocatore ha perso. Se invece la cella è vuota, viene visualizzato al suo interno il numero di celle adiacenti contenenti delle mine, e il gioco continua. Col termine adiacente si intendono anche le celle collocate diagonalmente. Il gioco termina quando o viene scoperta una mina (il giocatore perde) o vengono scoperte tutte le celle senza mine (il giocatore ha vinto). In entrambi i casi viene visualizzato un messaggio appropriato e viene rivelata la posizione di tutte le mine.

Si noti che quando una cella viene scoperta e non ha mine adiacenti, tutte le celle adiacenti vengono scoperte automaticamente senza che il giocatore debba fare nulla. Eventuali altre celle aperte in questo modo e che non hanno celle adiacenti vengono a loro volta scoperte, e così via.

Cosa dovete fare

Dovete realizzare un programma che usa la libreria ezgraphics per implementare il gioco. 

Le dimensioni del campo di gioco in termini di numero di celle in orizzontale e verticale devono essere specificate tramite due costanti SIZEX e SIZEY definite all'inizio del programma (dopo le eventuali istruzioni di importazione). Analogamente, il numero di mine presenti nel campo di gioco deve essere specificato da una costante MINES sempre definita all'inizio del programma. Il programma deve funzionare per tutti i valori ragionevoli di queste costanti.

Potete usare esclusivamente i costrutti e i moduli del linguaggio Python e che abbiamo visto a lezione, a meno di accordo preventivo con il docente. È assolutamente vietato usare costrutti della programmazione a oggetti (come le classi). Se siete in dubbio sul fatto che un certo costrutto o una certo modulo sia ammesso, consultate il docente.

Normalmente le implementazioni complete del gioco prevedono la possibilità di marcare con una bandiera le celle dove il giocatore suppone siano presenti delle mine. Questa funzionalità non è richiesta dal progetto. 

Per l'icona delle mine potete utilizzare questa immagine presa dal softare Gnome Mines.

Video della implementazione dimostrativa

Ultime modifiche: venerdì, 19 dicembre 2025, 18:37