0% ont trouvé ce document utile (0 vote)
20 vues27 pages

Mini Projet

Le rapport présente un projet sur le jeu 2048, qui consiste à fusionner des tuiles étiquetées avec des puissances de deux pour atteindre un score maximal. Le projet utilise des bibliothèques Python telles que Tkinter, Numpy et Matplotlib pour créer une interface utilisateur et gérer la logique du jeu. Le jeu est conçu pour être à la fois divertissant et éducatif, renforçant les compétences en mathématiques et en concentration des joueurs.

Transféré par

ScribdTranslations
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
20 vues27 pages

Mini Projet

Le rapport présente un projet sur le jeu 2048, qui consiste à fusionner des tuiles étiquetées avec des puissances de deux pour atteindre un score maximal. Le projet utilise des bibliothèques Python telles que Tkinter, Numpy et Matplotlib pour créer une interface utilisateur et gérer la logique du jeu. Le jeu est conçu pour être à la fois divertissant et éducatif, renforçant les compétences en mathématiques et en concentration des joueurs.

Transféré par

ScribdTranslations
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Rapport de mini-projet

Sur
“2048 GAME”
Submitted By:
M. Aniruddha A Bhimte

soumis au Département d'Ingénierie Électronique et de Télécommunication en tant que


une partie de l'examen d'évaluation des enseignants (TAE) du cours "Python"

Programmation[PCCET304T] pour la session 2021-22.

Sous la direction de
Prof. Vivek D. Deshmukh
Professeur assistant

DÉPARTEMENT D'ÉLECTRONIQUE ET DE TÉLÉCOMMUNICATION


INGÉNIERIE
INSTITUT DE TECHNOLOGIE, DE GESTION ET S.B. JAIN
RECHERCHE, NAGPUR
(Un institut autonome affilié à l'Université R.T.M. de Nagpur)
(Accrédité NAAC avec la note 'A')
JEU 2048

Certificat

Ceci est pour certifier que le rapport de projet intitulé « JEU 2048 » est
soumis avec succès par M. Aniruddha Bhimte sous la direction de
[Link] au Département d'Électronique &
L'ingénierie des télécommunications dans le cadre de l'évaluation des enseignants

Examen (TAE) du cours "Programmation Python [PCCET304T]" pour


la Session 2021-22.

1
JEU 2048

Résumé :
Le jeu 2048 implique des tuiles étiquetées avec des puissances de deux qui peuvent être fusionnées pour
former de plus grandes puissances de deux ; des variantes du même puzzle impliquent des fusionnements similaires de

autres valeurs de tuiles. Nous analysons le score maximum réalisable dans ces jeux par
prouver un théorème min-max égalant ce score maximum (dans un abstrait
variation généralisée de 2048 qui permet tous les mouvements du jeu original) avec
la valeur minimale qui fait qu'un algorithme de changement avare utilise un donné
nombre de pièces. Une stratégie largement suivie dans 2048 maintient des tuiles qui représentent
le numéro de coup en notation binaire, et une stratégie similaire dans le nombre de Fibonacci
la variante du jeu (987) maintient la représentation de Zeckendorf du coup
nombre comme une somme du plus petit nombre possible de nombres de Fibonacci ; notre analyse montre que
la capacité à suivre ces stratégies est intimement liée au fait que
le changement avide est optimal pour la monnaie binaire et Fibonacci. Pour les variantes de
2048 utilisant des valeurs de tuile pour lesquelles le changement glouton est sous-optimal, c'est le
stratégie avide, pas la représentation optimale sous forme de sommes des valeurs de tuiles, qui contrôle
la durée du jeu. En particulier, le jeu se terminera toujours chaque fois que le
la séquence de valeurs de carreaux autorisées présente des écarts arbitrairement grands entre les consécutifs

valeurs.

Description of Project:
Depuis le début de la civilisation, les humains ont continuellement cherché de nouvelles
méthodes de plaisir et de divertissement, telles que l'art, la danse, la musique, le sport. Jeux de société
et des jeux comme les échecs, le Ludo, le Serpent et Échelles sont présents depuis l'antiquité
jours,L'histoire des échecs remonte à près de 1500 ans. Ces jeux étaient
satisfaire non seulement notre besoin de divertissement, mais aussi aider à avoir un esprit aiguisé
brain. We as humans enjoy being challenged and loved to solve them. However,
avec l'avancement de la technologie, ces jeux de société sont maintenant remplacés par
applications mobiles et jeux PC. Ces jeux utilisent des logiciels hautement efficaces et

2
JEU 2048

des effets visuels très créatifs et une interface utilisateur que l'utilisateur appréciera. Des jeux tels que
Angry Birds, Temple Run, Subway Surfer, Candy Crush sont quelques exemples populaires de
ces jeux qui sont devenus un succès instantané parmi les utilisateurs. Contrairement à Call of Duty,
PUBG qui sont beaucoup plus compliqués et nécessitent un stockage plus élevé et mieux
processeurs, ces petits jeux sont plus faciles à comprendre tout en étant intéressants à jouer. Aussi
en raison de leurs exigences techniques moindres, ils peuvent être utilisés efficacement même sur un
appareil ancien. 2048 est l'un de ces jeux classiques qui aiguisent l'esprit et mettent à l'épreuve votre

aptitude mathématique, compétences et réflexes. Il a acquis une publicité mondiale et


popularité en très peu de temps. L'objectif principal du jeu est d'ajouter
des tuiles ayant le même nombre et obtenir une valeur totale plus élevée. À chaque mouvement, un
Une nouvelle tuile est ajoutée au plateau, au hasard dans n'importe quel espace vacant. Le jeu est conçu
de telle manière que cela devienne progressivement difficile et intéressant. Plus le
les mouvements que vous effectuez, plus les tuiles sont ajoutées, ce qui augmente votre score total mais à
le même temps vous donne moins d'espace et de cette façon le jeu devient difficile.
le jeu se décline en différents modes et tailles de plateau. Si vous êtes le genre de personne qui
aime se défier avec des énigmes et des jeux de réflexion, alors 2048 sera sûrement
vous étonner.
Comment jouer à 2048 :
Il y a une grille 4*4 qui peut être remplie avec n'importe quel nombre. Initialement, deux aléatoires
les cellules sont remplies de 2. Les autres cellules sont vides.
2. Nous devons appuyer sur l'une des quatre touches pour monter, descendre, à gauche ou à droite. Quand nous
appuyez sur n'importe quelle touche, les éléments de la cellule se déplacent dans cette direction de sorte que si deux éléments
des nombres identiques sont contenus dans cette ligne particulière (en cas de mouvement vers la gauche ou
droite) ou colonne (en cas de déplacement vers le haut et vers le bas) ils s'additionnent et cellule extrême
dans cette direction, remplissez-vous de ce nombre et les autres cellules restent vides à nouveau.
3. Après cette compression de grille, n'importe quelle cellule vide aléatoire se remplit avec 2.
4. En suivant le processus ci-dessus, nous devons doubler les éléments en les additionnant et
Faites 2048 dans l'une des cellules. Si nous y parvenons, nous gagnons.

3
« JEU 2048 »

Déclaration de motivation/problème :

Chaque petit pas compte pour réussir


Travaille intelligemment pour de meilleurs résultats

La gestion est importante pour réaliser quelque chose


3. Gardez patience et continuez à travailler jusqu'à ce que vous atteignez votre objectif
La concentration est une clé importante
Ce jeu offre du divertissement tout en enseignant beaucoup sur la vie.
Also, it is a good exercise to increase your focus and practice
mathématiques. C'est vraiment utile pour les enfants de 7 à 12 ans car cela
leur permet de mettre en pratique leurs apprentissages.
6. La meilleure chose au sujet du jeu 2048, c'est qu'il existe de nombreuses versions comme
Fortnite, Doge, Minecraft, etc. qui se compose de dessins animés et d'animaux
des images dans le puzzle. Pour en savoir plus et profiter d'une excellente expérience de cela

jeu

Methodology:

L'objectif principal du projet est de créer un fonctionnement agréable et présentable.


expérience de jeu amical. Pour y parvenir, nous avons utilisé la bibliothèque tkinter, numpy
et les paquets matplotlib. La bibliothèque Tkinter est responsable de l'interface utilisateur du
jeu, il met en place la grille, les tuiles de manière bien organisée. Numpy et
Matplotlib nous fournit l'épine dorsale de notre logique utilisée dans le jeu. Tout le jeu
fonctions c'est-à-dire l'ajout de deux tuiles, générer une nouvelle tuile dans n'importe quel espace vacant aléatoire

4
JEU 2048

etc. sont exécutés uniquement en raison de la présence de la bibliothèque numpy et matplotlib. Le


la combinaison de ces logiciels dans notre code nous donne un output correct du jeu 2048
qui non seulement a une excellente interface utilisateur, mais qui est également tout aussi défiant et

intéressant à jouer.

Architecture du Système :-

5
JEU 2048

Collecte de données
Le module de collecte de données est une partie intégrante de notre jeu 2048, il comprend des données
collection, interprétation des données et compréhension des données qui aide à la prédiction de
les prochaines étapes par le compilateur et l'évaluation des résultats.

Prétraitement des données–


Dans ce projet, les mouvements effectués par l'utilisateur entraînent la génération de plus de tuiles.
ainsi que des tuiles avec des valeurs plus élevées (128, 256, 512, 1024, 2048, etc.). Toutes ces données de jeu sont
collecté pendant l'exécution en plus de certaines données (telles que la disposition de la grille, les tuiles initiales) étant déjà

prétraité. Ainsi, le prétraitement aide à transformer les données afin d'améliorer le jeu
une expérience peut être fournie, offrant une plus grande précision. Le prétraitement effectue
Fonctions diverses : ajouter des tuiles après un mouvement, remplir les tuiles manquantes, mettre à jour le score total.
Mise à jour du meilleur score.

Conception et mise en œuvre d'un modèle de classification

Dans ce cas, les données collectées sont utilisées par le compilateur, à mesure que le jeu progresse, plus de tuiles
sont ajoutés et les espaces de carreaux vacants sont réduits. par conséquent, le compilateur doit mettre en œuvre
les données collectées précédemment pour faire progresser le jeu.

De plus, le score doit être mis à jour après chaque mouvement et il doit également mettre à jour le meilleur score.
score si nécessaire.

Disposition initiale du jeu avec seulement 2 tuiles Ajout des mêmes carreaux Mise à jour du score actuel
Mise à jour du score élevé si nécessaire.

●Data, feature, and software tool–


Les attributs utilisés dans ce projet sont les contrôles de jeu, l'insertion de nouveaux tuiles, la mise à jour de
score, etc. Ces attributs seront utilisés pour la prédiction des prochains mouvements par le compilateur.

Pour y parvenir, nous avons utilisé la bibliothèque tkinter, ainsi que les packages numpy et matplotlib.
La bibliothèque Tkinter est responsable de l'interface utilisateur du jeu, elle dispose les tuiles de la grille.
de manière bien organisée. Numpy et Matplotlib nous fournissent la colonne vertébrale de notre
la logique utilisée dans le jeu. Toutes les fonctions du jeu c'est-à-dire l'ajout de deux tuiles, la génération d'une nouvelle

6
JEU 2048

la tuile à tout espace vacant aléatoire, etc. sont exécutées uniquement en raison de la présence de numpy et
bibliothèque matplotlib

Outils Utilisés :
EXIGENCE LOGICIELLE
a) SOFTWARE : Python 3
b) IDEs / CADRES : VS Code
c) BIBLIOTHÈQUES : Tkinter, Matplotlib, Numpy.
d) Plateforme : Windows

Python :
Python est un langage de programmation interprété, orienté objet, de haut niveau avec une dynamique
sémantique. Ses structures de données intégrées de haut niveau, combinées avec le typage dynamique et
le liaison dynamique, le rend très attrayant pour le développement rapide d'applications, ainsi que
pour être utilisé comme un langage de script ou de liaison pour connecter des composants existants ensemble. Le Python
Une syntaxe simple et facile à apprendre met l'accent sur la lisibilité et réduit donc le coût de
maintenance du programme. Python prend en charge les modules et les packages, ce qui encourage
modularité du programme et réutilisation du code. L'interpréteur Python et l'étendue de la bibliothèque standard
Les bibliothèques sont disponibles sous forme source ou binaire gratuitement pour toutes les principales plateformes, et
peut être réparti librement. Souvent, les programmeurs tombent amoureux de Python à cause de la
la productivité accrue qu'elle offre. Puisqu'il n'y a pas d'étape de compilation, l'édition-test-débogage
le cycle est incroyablement rapide. Déboguer des programmes Python est facile : un bogue ou une mauvaise entrée va
ne provoquez jamais une faute de segmentation. Au lieu de cela, lorsque l'interpréteur découvre une erreur, il lève
une exception. Lorsque le programme ne capture pas l'exception, l'interpréteur imprime une pile
trace. Un débogueur au niveau source permet l'inspection des variables locales et globales, l'évaluation
d'expressions arbitraires, en définissant des points d'arrêt, en parcourant le code ligne par ligne,
et ainsi de suite. Le débogueur est écrit en Python lui-même, témoignant de l'introspection de Python.
pouvoir. D'autre part, souvent le moyen le plus rapide de déboguer un programme est d'ajouter quelques print
les déclarations à la source : le cycle rapide d'édition-test-débbugage rend cette approche très simple
efficace.

7
JEU 2048

2) VS Code :
Visual Studio Code combine la simplicité d'un éditeur de code source avec des fonctionnalités puissantes.
outils de développement, comme l'autocomplétion de code IntelliSense et le débogage. Avant tout, il
est un éditeur qui ne vous gêne pas. Le cycle d'édition-construction-dépuration agréablement fluide
cela signifie moins de temps à s'occuper de votre environnement et plus de temps à exécuter vos idées.
Au cœur de Visual Studio Code se trouve un éditeur de code source ultrarapide, parfait pour
utilisation quotidienne. Avec le support de centaines de langues, VS Code vous aide à être instantanément
productif avec mise en évidence de la syntaxe, appariement des parenthèses, indentation automatique, sélection par boîte,

extraits, et plus encore. Raccourcis clavier intuitifs, personnalisation facile et


les mappages de raccourcis clavier contribué par la communauté vous permettent de naviguer dans votre code avec
aisance. Pour un codage sérieux, vous bénéficierez souvent d'outils avec une meilleure compréhension du code.
que de simples blocs de texte. Visual Studio Code inclut un support intégré pour l'IntelliSense du code
achèvement, compréhension sémantique riche du code et navigation, et refactorisation du code. Et
Quand le codage devient difficile, les durs se mettent au débogage. Le débogage est souvent la seule fonctionnalité
ce que les développeurs manquent le plus dans une expérience de codage plus épurée, nous l'avons donc réalisé. Visuel
Le Studio Code inclut un débogueur interactif, afin que vous puissiez passer à travers le code source,
inspecter les variables, voir les piles d'appels et exécuter des commandes dans la console. VS Code également
s'intègre avec des outils de construction et de script pour effectuer des tâches courantes, facilitant le quotidien

workflows faster. VS Code has support for Git so you can work with source control
sans quitter l'éditeur, y compris la visualisation des différences des modifications en attente.

3) Tkiner :
Tutoriel Python Tkinter Le tutoriel Tkinter fournit les bases et
concepts avancés de Python Tkinter. Notre tutoriel Tkinter est conçu pour les débutants et
Les professionnels. Python fournit la bibliothèque standard Tkinter pour créer l'interface graphique.
interface pour les applications de bureau. Développement d'applications de bureau avec
La création d'une fenêtre de niveau supérieur Tkinter vide n'est pas une tâche complexe.
en utilisant les étapes suivantes.
●importer le module Tkinter.
●Créer la fenêtre principale de l'application.
●Ajoutez des widgets comme des étiquettes, des boutons, des cadres, etc. à la fenêtre.
●Appelez la boucle d'événements principale afin que les actions puissent avoir lieu sur l'utilisateur
écran d'ordinateur.

8
JEU 2048

4) Numpy :
NumPy est une bibliothèque Python utilisée pour travailler avec des tableaux. Elle a également des fonctions pour travailler
dans le domaine de l'algèbre linéaire, de la transformée de Fourier et des matrices. NumPy a été créé en 2005
par Travis Oliphant. C'est un projet open source et vous pouvez l'utiliser librement. NumPy représente
pour le NumPy. En Python, nous avons des listes qui servent de tableaux, mais elles
sont lents à traiter. NumPy vise à fournir un objet tableau qui est jusqu'à 50 fois plus rapide que
les listes Python traditionnelles. L'objet tableau dans NumPy s'appelle ndarray, il offre beaucoup de
des fonctions de support qui facilitent énormément le travail avec ndarray. Les tableaux sont très
fréquemment utilisé en science des données, où la rapidité et les ressources sont très importantes.

5) Matplotlib :
Matplotlib est une bibliothèque complète pour créer des graphiques statiques, animés et interactifs.
visualisations en Python. Matplotlib rend les choses faciles faciles et les choses difficiles possibles.
•Créer des graphiques de qualité publication.
•Créer des figures interactives qui peuvent zoomer, se déplacer, se mettre à jour.
•Personnaliser le style visuel et la mise en page.
•Exporter vers de nombreux formats de fichiers.

•Intégrer dans JupyterLab et les interfaces utilisateur graphiques.


•Utilisez un large éventail de packages tiers construits sur Matplotlib

6) Fenêtres
Windows is a graphical operating system developed by Microsoft. It allows users to view
et stocker des fichiers, exécuter le logiciel, jouer à des jeux, regarder des vidéos, et fournir un moyen de
connectez-vous à internet. Il a été lancé pour l'informatique domestique et le travail professionnel.
Microsoft a introduit la première version sous le nom de 1.0. Elle a été publiée à la fois pour l'informatique domestique et
fonctions professionnelles de Windows le 10 novembre 1983. Plus tard, il a été publié sur de nombreux
versions de Windows ainsi que la version actuelle, Windows 11.

9
JEU 2048

Results & DISCUSSION:

Captures d'écran

Début du jeu

10
JEU 2048

Nouveaux carreaux en cours d'insertion

11
JEU 2048

12
JEU 2048

Condition de victoire du jeu

13
JEU 2048

APPLICATION :-
Le but de notre projet était de créer une expérience de jeu conviviale. En utilisant les dernières
Grâce au logiciel, nous avons atteint l'objectif du projet. Le jeu 2048 peut être joué par tous les groupes d'âge.
de 6 à 40 car la seule exigence pour jouer au jeu est que l'utilisateur doit connaître les mathématiques de base
(addition). Cette fonctionnalité rend ce jeu simple mais efficace et divertissant.
amusant. De plus, il peut également être utilisé comme un outil éducatif pour les enfants de jeunes tranches d'âge car il rend
apprendre en s'amusant. Les graphiques colorés et une excellente interface utilisateur rendent le jeu facile et
une grande activité de loisir. Ce jeu est tout aussi difficile en même temps, ce qui en fait un bon choix
pour le groupe d'âge plus âgé du public. Donc, pour résumer, notre projet a les réalités suivantes
applications:
Une grande source de divertissement et de plaisir
●Un bon outil pour défier votre cerveau et tester votre aptitude mathématique
Peut être utilisé comme un outil éducatif pour enseigner aux enfants l'addition de manière ludique.

Conclusion:
Nous avons réussi à créer un jeu 2048. L'objectif principal du projet était de créer un
un jeu présentable, bien fonctionnant et convivial pour l'expérience utilisateur. Pour y parvenir, nous avons fait usage de
bibliothèque tkinter, paquets numpy et matplotlib. La bibliothèque tkinter est responsable de l'utilisateur
interface du jeu, elle dispose la grille, les tuiles de manière bien organisée. Numpy et
Matplotlib nous fournit l'ossature de notre logique utilisée dans le jeu. Toutes les fonctions du jeu c'est-à-dire
l'ajout de deux tuiles, la génération d'une nouvelle tuile à un espace vacant aléatoire, etc. ne sont exécutés que grâce à
à la présence de la bibliothèque numpy et matplotlib. La combinaison de ces logiciels dans notre code
nous donne un bon résultat du jeu 2048. En général, en jouant au jeu, nous n'avons rencontré aucun
problème dans le fonctionnement du code. Le jeu fonctionne sans accroc, l'interface utilisateur est agréable et
réactif qui offre une bonne expérience. Les fonctions du jeu fonctionnent de manière efficace et appropriée.
et dans l'ensemble, c'est très amusant à jouer.
●À la fin, nous pouvons tirer les conclusions suivantes de notre projet :
●Toutes les bibliothèques et modules sont importés avec succès dans notre système.
●Ces bibliothèques facilitent les fonctions de notre projet et sans bogue.
●Toutes les fonctions de jeu définies pour les mouvements de jeu, la mise à jour des scores et l'ajout de nouvelles tuiles fonctionnent

parfaitement.
●L'interface utilisateur est agréable et les commandes sont faciles à apprendre et conviviales.

14
JEU 2048

CODE SOURCE :-
●[Link]

15
JEU 2048

16
JEU 2048

17
JEU 2048

●Affichage_de_jeu.py

18
JEU 2048

19
JEU 2048

20
JEU 2048

21
JEU 2048

●Fonctions_jeu.py

22
JEU 2048

23
JEU 2048

24
JEU 2048

25
JEU 2048

References:
[Link]

26

Vous aimerez peut-être aussi