Création jeu du « démineur » en Python – Partie 2/3

Allez on entre dans le vif du sujet alors accroche ta ceinture Alice !

Il y auras 2 codes, un pour déterminer où ce situe les bombes de manière numérique, c’est à dire avec des 0 et des 1, et une autre plus visuelle afin de jouer sur l’écran.

Commence par importer deux librairies tkinter et radom car tu vas en avoir besoin. Ensuite créer simplement des variables de départ, notamment pour spécifier le score, s’il reste des carrés à vérifier ou si tu as perdu.

Ensuite il faut définir la structure générale du programme, c’est à dire ce qu’il va faire durant le jeu. Pour cela nous allons définir une fonction comme ci dessous. Cette fonction signifie que quand tu lanceras le jeu l’ordinateur créera un terrain de mines, affichera une version graphique à l’écran et exécutera le jeu

Création aléatoire des mines du jeu

Nous allons faire simple , 1 = mine 0 = pas de mine. Nous allons utiliser une liste imbriquée pour créer les mines, c’est à dire une liste à l’intérieur d’une autre liste. La première liste « terrainmine » contient la liste des rangées. Chaque rangée constitue une autre liste « listerangee » contenant des entrées pour chaque colonne de cette rangée. 

La première chose est de créer une liste vide ( première ligne ). Ensuite pour définir si le programme dessine une bombe, nous allons utiliser random.randint(1,100). Tu connais déjà cette fonction elle permet de créer un nombre aléatoire, et bien dans notre cas si le nombre est inférieur à 30, le programme décide de créer 1 mine. Si c’est supérieur à 30 il ne créer pas de mine.

Créer une première boucle qui va s’exécuter 10 fois et créer une liste vide, qui va être chaque rangée et à l’intérieur de chaque rangée, une autre boucle ajoute 10 chiffres qui vont être les colonnes. Ensuite génère un nombre aléatoire comme vue précédemment. Si le nombre est inférieur à 30, l’ordinateur ajoute un 1 a « listerangee » sinon il ajoute un 0 et surtout un 1 à carreaverifier afin de déterminer combien il y a de bombes dans le jeu.

Enfin la dernière ligne associe chaque listerangee complète à sa liste d’origine

N.B : Les deux premières lignes du code précédent créer une fonction qui te permet d’afficher le code sous forme de 0 et de 1. Il s’agit simplement d’une boucle qui affiche une liste.

Création graphique du démineur

Nous allons créer un fenêtre graphique afin de pouvoir jouer. Pour faire simple, nous allons encore utiliser un nombre aléatoire. Si le chiffre est < 30 il va colorer une le fond en lightblue, s’il est > à 70 en cyan et entre les 2 en dodgerblue. Nous allons définir la largeur d’un carré à 4 espaces entre les guillemets. 

Ensuite la dernière ligne te permet d’indiquer à l’ordinateur de placer chaque carré l’un après l’autre en utilisant la fonction .grid . Pour connaitre la position des carrés, tu as besoin de connaitre la rangée ( row ) et la colonne ( column)

Enfin tu peux ajouter une dernière ligne de code afin de lancer le programme et voir ce que cela donne . Tu devrais obtenir l’écran comme la figure au début. Si tu as un problème vérifie que tu as correctement orthographié chaque ligne. Si tout est bon, on peux passer à la partie 3 de ce tutos

Laisser un commentaire