Le Démineur est un jeu vidéo de réflexion dont le but est de localiser des mines cachées dans une grille représentant un champ de mines virtuel, avec pour seule indication le nombre de mines dans les zones adjacentes.
L’objectif de cette séance est la construction de la grille représentant le champ de mines.
- Les fonctions développées ci-dessous devront appartenir à un module
demineur
.
Créer ce module.
Le plateau à deux dimensions (m lignes et n colonnes) du jeu sera défini à la question 3. par une liste de listes contenant des valeurs booléennes. La présence d’une bombe correspondra à la valeur True
tandis que l’absence d’une bombe à la valeur False
. Les bombes seront placées aléatoirement avec une probabilité de 1/p.
- Dans le module
demineur
, définir la fonctioncontient_bombe
dont la spécification est :
|
|
Remarque. Utiliser la fonction randint
du module random
pour effectuer le tirage aléatoire et décider que la présence d’une bombe correspond à la valeur 1 (c’est arbitraire).
- Dans le module
demineur
, définir la fonctioninitialisation_jeu
dont la spécification est :
|
|
Remarque. En fait, il est plus pratique (la raison sera développée plus tard) de créer un plateau de m + 2 lignes et de n + 2 colonnes. Les première et dernière lignes, ainsi que les première et dernière colonnes ne devront contenir aucune bombe.
- Dans le module
demineur
, définir la fonctionaffichage
dont la spécification est :
|
|
-
Dans le fichier principal, importer le module
demineur
,- définir les variables
M
,N
etp
en demandant à l’utilisateur leurs valeurs, - initialiser le jeu,
- afficher le plateau.
- définir les variables
-
Dans le module
demineur
, définir la fonctionnombre_bombes
dont la spécification est :
|
|
Remarque. Le fait d’avoir choisi une liste de listes de dimensions (m + 2) x (n + 2) facilite l’écriture de cette fonction.
- Dans le module
demineur
, définir la fonction dont la spécification est :
|
|
- Appeler la fonction
affichage_nbre_bombes
depuis le fichier principal.