Faire un jeu 2048 en python - 2048 codes de jeu en python, Les Nuits Tara

A la fin de cette lecture, vous serez en mesure de faire un jeu populaire 2048 sur votre propre. langage de programmation Python sera utilisé pour implémenter la logique du jeu dans ce tutorial.2048 est un jeu qui a atteint la popularité maximale dans mon collège. Cela a commencé par un e-mail de mon directeur de collège d'universitaires avec l'en-tête 2048. Un jeu à faire. Je choisis le langage de programmation Python pour construire 2048 jeu.

2048 jeu est confiné dans une matrice 4 * 4. C'est la chose dont vous avez besoin de base. autres listes seraient le choix rapide à mettre en œuvre une matrice 4 * 4 en python. Suivant les chiffres dans la matrice 4 * 4 sont des nombres pairs à partir de 2. La combinaison des mêmes numéros se traduira par leur somme. Si vous réussissez à faire un seul bloc de 2048 alors vous gagnez. Vous avez quatre mouvements valides à savoir gauche, à droite, vers le bas et vers le haut. Chaque fois que vous faites un mouvement (gauche, droite, haut, bas) un nouveau numéro (2) est généré à l'un des postes au sein de la matrice 4 * 4 où la valeur est égale à zéro (rien). S'il y a trois mêmes numéros dans le format, comme indiqué ci-dessous (par exemple), et déplacer vers la gauche se fait alors le nombre plus proche des positions extrêmes a une priorité plus élevée alors que présente quelque part du milieu de la matrice.

En prenant une seule ligne, par exemple,

Lorsque déplacer vers la gauche est activé, la ligne ci-dessus devient

1. Modules

Nous n'utiliserons un module i.e. aléatoire. Ce module est utilisé pour placer un numéro (2) chaque fois qu'un mouvement est fait à une position aléatoire où il existe pas d'autres numéros (espace libre). Pour l'instant nous supposons un espace libre comme zéro.

2. Mise en place du premier numéro (2) dans le 4 * 4 matrice (Le début du jeu)

Par défaut, chaque élément dans le 4 * 4 matrice est un zéro qui signifie que toutes les positions valides a une valeur nulle. Ensuite est généré dans un échantillon aléatoire où est placé le premier numéro du jeu une monTableau position [i] [j].

3. Impression sur les valeurs contenues dans les index à partir de 0 * 0 à 4 * 4

La matrice 4 * 4 est maintenant un sens imprimé leurs valeurs sont imprimées. Ce bloc de mise en œuvre va à l'intérieur d'une boucle qui signifie qu'il est imprimé jusqu'à ce qu'un joueur perd la partie ou gagne la partie.

4. Demander à un joueur pour un mouvement (w pendant, s pour descendre, un pour la gauche et pour d droite)

Une entrée est prise à partir du lecteur. Les entrées sont valides w, s, a et d. Cette partie du code réside également dans la boucle mentionnée plus haut.

5. L'appel de la fonction

Une fonction est maintenant appelée avec les paramètres que 4 * 4 matrice, user_input. user_input contient l'entrée de l'utilisateur (w, s, a, d).

6. La fonction

La fonction précédente appelée prend deux paramètres à savoir monTableau et user_input où monTableau est le 4 * 4 matrice et user_input est l'entrée de caractères donnée par l'utilisateur sur le mouvement qu'il / elle veut faire. Selon l'entrée prise différente bloc de code est exécuté.

Lorsque user_input == « s » (ce qui signifie joueur veut faire un mouvement vers le bas)

La chose à comprendre ici est que ce mouvement a lieu dans les colonnes seulement. Cela signifie que le mouvement est dans la direction vers le bas. Tout d'abord, nous devons vérifier une condition au moins un emplacement dans chaque colonne contient une valeur non nulle. Ensuite, si le bas le plus emplacement d'une colonne contient un zéro, l'emplacement est remplacé par une valeur qui est présent juste au-dessus (deuxième dernière position d'une colonne). l'avant-dernier emplacement est remplacée par la troisième dernière (deuxième) et la troisième dernière (deuxième) avec le premier et le premier emplacement est assigné à une valeur zéro jusqu'à ce que le dernier emplacement dans une colonne devient non nul.

Maintenant encore une autre condition est vérifiée i.e.

si l'avant-dernier emplacement dans une colonne contient zéro et le deuxième ou le premier emplacement est none-zéro, alors l'avant-dernier emplacement est remplacée par la valeur contenue dans le troisième dernier (second) l'emplacement et la troisième dernière (deuxième) avec la valeur le premier emplacement et le premier emplacement est assigné à une valeur zéro jusqu'à ce que l'avant-dernier emplacement dans une colonne devient non nul.

Après qu'une autre condition est vérifiée i.e.

si la troisième dernière (deuxième) emplacement contient une valeur zéro et le premier emplacement dans une colonne contient une valeur non nulle alors deuxième emplacement est remplacée par une valeur du premier emplacement et le premier à zéro.

Après la mise en œuvre ci-dessus maintenant le travail de sommation doit être fait. Cela commence par l'état

si l'emplacement le plus bas dans une colonne contient une valeur similaire à celui présent juste au-dessus (avant-dernier emplacement), la colonne la plus inférieure est remplacée par la somme de la position la plus basse et la deuxième valeur de la dernière position, l'avant-dernière est remplacée avec la valeur au niveau du second emplacement (ligne) de cette colonne. Le second est remplacé par la valeur de premier rang et la valeur du premier rang est affecté à zéro.

Maintenant, une autre condition est que la valeur à la troisième rangée d'une colonne est identique à la valeur à la deuxième rangée d'une colonne, puis la troisième rangée contient la somme de la valeur à la troisième ligne et la deuxième ligne de cette colonne, les secondes rangées prend la valeur à première ligne et la première ligne prend une valeur nulle. En outre, si la deuxième rangée d'une colonne et la première ligne de cette colonne a la même valeur, alors la seconde rangée maintient la somme de la valeur du deuxième et première ligne et la première rangée est affectée à zéro.

Lorsque user_input = 'w' / 'a' / 'd' (vers le haut / gauche / droite)

La mise en œuvre similaire fonctionne ici comme cela pour user_input = « l »

7. Définir deux listes vides

Maintenant, deux liste vide est définie. Ce sont la liste qui contient la valeur ième et jème du 4 * 4 matrice où la valeur est égale à zéro.

le nombre est une variable qui fonctionne en tant que compteur dont la valeur donne le nombre d'emplacement dans la matrice 4 * 4, où la valeur est égale à zéro.

9. L'affectation d'un numéro à un emplacement aléatoire dont la valeur est égale à zéro

Si la valeur de la variable count est supérieure à 1, alors l'emplacement aléatoire où la valeur est zéro est affectée à un certain nombre (2) et le programme boucle pour une autre fois. Si le compte est égal à 1, alors l'emplacement où la valeur est égale à zéro est remplacé par un numéro (2) et le bloc de code des boucles pour une autre fois. Si le nombre est égal à zéro alors la boucle est terminée et le message est imprimé « Game Over »

Articles Liés