Je pense que le jeu 2048 doit être familier à tout le monde. L'article suivant présente principalement comment utiliser Python pour implémenter le mini-jeu 2048. L'article le présente en détail à travers des commentaires et des exemples de codes. comprendre et l'apprentissage a une certaine valeur de référence. Les amis dans le besoin devraient y jeter un œil.
Avant-propos
Règles du jeu 2048 : Déplacez simplement les touches de direction pour faire superposer les chiffres, et obtenez le score après chaque superposition de ces chiffres . La partie est gagnée lorsque le nombre 2048 apparaît. En même temps, chaque fois que vous déplacez les touches de direction, un chiffre 2 ou 4 sera généré aléatoirement dans la zone vide de la matrice carrée 4*4. Si le carré est rempli de chiffres, alors c'est GameOver.
Schéma logique principal
Schéma logique : Le noir est Couche logique, le bleu est la méthode externe, le rouge est la méthode intra-classe, vous le saurez plus tard~
Laissez-moi vous expliquer la logique principale ligne par ligne . main()
fonction et y croise des fonctions et des classes définies en externe.
Interprétation du code logique principal (voir la fin de l'article pour le code complet)
Le code logique principal est comme suit, suivi de la fonction principale Interprétation de certaines méthodes :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
|
Interprétation une par une (la case de code sera marquée comme à venir de l'extérieur, s'il n'y a pas de marquage, cela vient de l'intérieur) : Définition Fonction principale
1 |
|
1 2 3 |
|
reset provient d'une classe définie en externe, l'une des game_field=GameField
Méthode reset :
Externe :
1 2 3 4 5 6 7 8 |
|
1 |
|
Renvoie l'état d'un jeu en cours. game_field=GameField
Le statut est défini ultérieurement :
La définition du bas de la fonction principale :
1 2 3 4 5 6 |
|
1 2 3 |
|
draw est une méthode dans la classe importée game_field=GameField
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
La fonction mot du Méthode de dessin ici, je n'expliquerai pas trop, ce sont juste quelques concepts simples.
Mais il utilise un excellent code rationalisé.
Certains endroits suggèrent de découvrir certains concepts avancés de Python, mais je n'entrerai pas dans les détails.
1 2 |
|
Lire le comportement de l'utilisateur, la fonction est issue de la définition initiale du code
1 2 3 4 5 6 |
|
À la fin, c'est-à-dire la troisième étape de l'exécution de la fonction principale, l'instance de state = state_actions[state]()
est définie :
1 2 3 4 5 6 |
|
1 2 3 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
game()
La définition de la fonction est similaire à la not_game()
déjà mentionnée ci-dessus , sauf que game()
Avec la boucle interne, c'est à dire si ce n'est pas Redémarrer/Sortir ou juger de l'état après le coup, si ce n'est pas la fin du jeu, ce sera toujours dans la game()
boucle interne .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
La signification ici est : state=state_actions[state]
peut être vu comme : state=init()
ou state=not_game(‘Win')
ou un autre not_game(‘Gameover')/game()
Sans plus attendre, voici ma dernière photo de réussite. De plus, vous pouvez déterminer vos conditions de gain finales en définissant win=32 dans les dernières lignes !
Code complet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
|
Pour plus d'instructions étape par étape sur la façon d'implémenter le mini-jeu 2048 en Python, veuillez prêter attention au site Web PHP chinois !