J’ai créé en Python un jeu de mémoire. Comme je m’ennuie en ce moment, je comble mon temps en écrivant des programmes.
Pour cela, j’ai voulu m’aider de ChatGPT nouvelle version… J’aurais mieux fait de me casser une jambe, mais bon! Ce qui est fait est fait…
Un jeu de mémoire en Python: ma conversation avec chatGPT
J’avais tout de même une idée de ce que je voulais faire: une grille remplie de paires d’images qu’il faut retrouver une fois celles-ci cachées.
ChatGPT me propose alors d’utiliser pygame.
« Bon… Pourquoi pas ? » – me dis-je…
Mais quelle horreur! Ce blaireau de chatGPT me fournissait sans arrêt des codes non fonctionnels… De plus, avec pygame, il est quasi impossible d’ouvrir plusieurs fenêtres, donc pour afficher les stats ou même les règles du jeu, c’est un enfer! Si bien que j’ai abandonné l’idée. Je n’ai conservé que le jeu.
Un jeu de mémoire en Python: passons aux choses sérieuses
Le cahier des charges: règles du jeu
Trois niveaux doivent être disponibles:
- « Facile » : une grille 4×4 remplie de 8 paires d’images de taille 48×48 pixels;
- « Moyen » : une grille de 6×6 remplie de 18 paires d’images de taille 48×48 pixels;
- « Difficile » : une grille de 8×8 remplie de 32 paires d’images de taille 48×48 pixels.
Au début, la grille doit s’afficher remplie pendant un certain laps de temps. Ce délai est calculé en fonction de la taille de la grille, bien sûr!
- 10 seconde pour la grille 4×4
- 15 secondes pour la grille 6×6
- 20 secondes pour la grille 8×8
Les images disparaissent après ce délai et c’est au joueur à les retrouver. Pour cela, il ou elle clique sur deux cases. Si elles cachent la même image, elles restent visibles. Sinon, elles disparaissent.
Une fois la grille terminée, il faut qu’une fenêtre s’affiche avec le temps mis pour terminer la grille. Ce temps va constituer le score.
Le score va être stocké dans un fichier json. Ce fichier va contenir un dictionnaire à trois clés: les différents niveaux. La valeur de chaque clé est une liste contenant tous les temps pour le niveau correspondant à la clé.
Bon, là, je crois qu’on est bon… Ah! Il faut quand-même avoir une panoplie d’images. Je vais donc sur https://icones8.fr afin de télécharger assez d’icônes. J’ai ai téléchargé 38 (parce que bon… c’est long!). C’est, je pense, suffisant pour choisir au hasard 8, 18 ou 32 paires.
À quoi ça ressemble ?
Pour vous mettre l’eau à la bouche, voici ce que peuvent donner les différentes grilles, le menu et le score:
Un jeu de mémoire en Python: le script
Pour ce projet, j’ai voulu me la jouer « pro » et faire des sous-fichiers 🙂
Je vais utiliser la POO.
Les fichiers sources sont dans le ZIP suivant.
EDIT : il y avait une petite erreur dans la version initiale du 23 mai 2024. Je l’ai rectifié le 24 mai 2024.
Si vous souhaitez avoir le .exe (sous windows), ça se passe ci-dessous, mais vous n’aurez pas la possibilité de voir les statistiques…
Je ne suis pas très fier de ce que j’ai fait car je voulais faire mieux, notamment pour les diverses fenêtres annexes (règles du jeu et statistiques). Mais pygame n’est pas approprié pour cela… Je ne saurai la prochaine fois!
Si vous avez des suggestions d’améliorations ou des remarques, n’hésitez pas à les mettre en commentaires.