Si vous souhaitez créer un jeu Othello, vous avez d'abord besoin d'un plateau 8x8. Il y a 64 carrés en tout.
Afin de représenter la position des carrés, j'ai décidé d'utiliser les nombres 1 à 8 comme X dans le sens horizontal et les nombres 1 à 8 comme Y dans le sens vertical. En général, il semble que l'axe horizontal d'Othello soit souvent représenté par a à h, mais lors de l'étude de la programmation, les nombres sont plus faciles à comprendre, alors faites-le de sorte qu'il soit représenté par le même 1 à 8 à la fois horizontalement et verticalement. Il y a.
C'est le seul programme principal du jeu Othello que j'ai créé pour enseigner à mes enfants. Comme je l'ai écrit dans l'article précédent, les bases du programme ne sont que des instructions de contrôle, des instructions conditionnelles et des instructions répétitives. Cet Othello est également fait en utilisant pleinement ces trois. Expliquons le programme suivant.
if __name__ == '__main__':
#Créer une instance de la classe Othello
myot = OthelloCls()
#Affichage du tableau
myot.ot_display()
#Répéter pour toujours
while True:
#Déterminez si le jeu est terminé ou s'il y a un endroit pour mettre votre main
sts = myot.ot_checkendofgame()
if sts == 1: #Jeu terminé
break
elif sts < 0: #Je ne peux pas mettre ma main
continue
#Appeler une fonction qui affiche qui est le tour
myot.ot_yourturn()
#Entrez les coordonnées X et Y
myx = myot.ot_inputXY("X = ")
myy = myot.ot_inputXY("Y = ")
#Placez votre main aux coordonnées spécifiées
myot.ot_place(myx,myy)
ʻSi name == En déclarant '__ main __': `, les indentations suivantes à partir d'ici indiquent qu'il s'agit du programme principal. Comme le bloc du programme principal doit être mis en retrait, l'indentation se fait dans 4 espaces et le programme est écrit.
Lorsque vous exécutez le programme pour la première fois, vous verrez un écran comme celui-ci, attendant l'entrée du clavier.
La première ligne du programme matérialise une instance de la classe Othello. Il ne fait aucun doute que la classe Othello est remplie de diverses fonctions requises pour Othello, mais soyez assuré que les détails seront décrits plus tard.
La planche d'Othello dans le tout premier état est affichée à l'écran. Lorsque vous appelez la fonction ʻot_display () `, elle affichera la carte dans l'état où elle a été appelée.
Le programme principal commence par se répéter indéfiniment à la partie «whilt True:».
Dans le jeu d'Othello, le blanc et le noir se relaient, mais cela arrive quand l'une ou l'autre des mains ne peut pas être placée ou les deux mains ne peuvent pas être placées.
La seule condition pour sortir de cette éternelle répétition est de décider que le jeu est terminé. Une fonction appelée ʻot_checkendofgame () ʻest chargée de vérifier le comportement suivant dans une itération permanente. La valeur renvoyée par cette fonction détermine l'action suivante.
Valeur de retour de la fonction | sens | Prochaine action |
---|---|---|
0 | Continuez parce que vous pouvez mettre vos propres mains | Aller à l'entrée des coordonnées X et Y où mettre à partir du clavier |
1 | Jeu terminé | Échapper à la répétition éternelle |
-1 | Je ne peux pas mettre ma propre main, alors j'ai changé pour la main de l'autre partie | Retour au début de la répétition éternelle |
Comme mentionné ci-dessus, lorsque la valeur de retour de la fonction est 0, la fonction ʻot_yourturn () ʻindique qui est le tour, comme "● la main!" Ou "○ la main!".
Ensuite, entrez l'un de 1 à 8 avec X et l'un de 1 à 8 avec Y pour savoir quel carré placer à partir du clavier. La fonction ʻot_inputXY ("X =") ʻest une fonction qui effectue une saisie au clavier qui n'accepte pas de valeurs autres que 1 à 8, et implémente la saisie au clavier comme une fonction en spécifiant X = ou Y = comme paramètre. Il y a. Les parties de X = 6 et Y = 5 dans la figure ci-dessus sont exactement réalisées par cette fonction.
Enfin, demandez à la fonction ʻot_place (myx, myy) `de placer le cadre en passant le numéro de coordonnée X entré à partir du clavier et le numéro de coordonnée Y.
Un programme Othello peut être joué comme un jeu Othello en n'appelant que cinq fonctions. Les types de programmes sont divisés en système d'affichage d'écran, système d'entrée et système logique de programme. Afin d'évoluer vers un jeu graphique d'Othello dans le futur, la partie d'affichage d'écran et le système d'entrée et la partie logique sont intentionnellement séparés dans la classe.
Fonctions de création de jeux Othello | Type de programme | Que fais tu |
---|---|---|
ot_display() | Écran d'affichage | Afficher le plateau d'Othello |
ot_checkendofgame() | logique | Vous dit quoi faire ensuite en répétition éternelle |
ot_yourturn() | Écran d'affichage | Montre à qui est le tour |
ot_inputXY() | La saisie au clavier | Entrez les coordonnées pour spécifier l'emplacement où placer le cadre |
ot_place() | logique | Placer un cadre aux coordonnées saisies |
Comme je l'ai mentionné brièvement dans l'article précédent, il existe deux types de phrases répétitives. L'une est une phrase répétée qui tourne pour toujours. L'autre est une phrase répétée dans laquelle le nombre de tours est connu. Dans la figure ci-dessous, dans le type qui se répète indéfiniment, lorsqu'un événement qui sort de la répétition se produit, il échappe à la répétition. L'autre est un schéma répétitif dans lequel si vous décidez de faire 10 muscles abdominaux depuis le début, faites-le 10 fois et vous avez terminé. En Python, les itérations permanentes sont écrites comme «while True:». Le bloc d'indentation sous ce while True:
sera répété pour toujours à moins qu'un événement ne se produise. Dans l'éternelle répétition, écrivez «continue» pour revenir au début, et écrivez «pause» pour échapper à l'éternelle répétition. Dans la figure ci-dessous, si «Snack?» Est Oui, écrivez «break», sinon écrivez «continue». Dans le programme principal, si vous voulez revenir au début de la répétition au milieu du bloc qui se répète indéfiniment, vous écrivez continue
, mais après avoir appelé ʻot_place (), vous ne vous souciez pas d'écrire
continue`. Puisqu'il s'agit de la dernière ligne du bloc répétitif, il revient automatiquement au début de la répétition lors du retour de la fonction.
Quand j'écris ces deux en Python, ça ressemble à ça. J'écrirai plus sur comment utiliser pour la prochaine fois.
while True:
étude()
si collation=="Yes":
break
for index in range(10):
Muscle abdominal()
Utilisez ʻif condition: pour déterminer la condition. La logique qui correspond à la condition est décrite dans le bloc avec le retrait abaissé, et la logique qui ne remplit pas la condition est décrite en abaissant le retrait de sous ʻelse: ʻou ʻelif:
. Jetons un coup d'œil au programme principal plus tôt. La valeur de retour de la fonction ot_checkendofgame () est stockée dans une variable appelée sts. L'instruction if suivante détermine si sts vaut 1, et si tel est le cas, utilise brek pour sortir de la boucle permanente. Si elif ne remplit pas la première condition, l'instruction de condition suivante détermine si sts est inférieur à 0, et si la condition est remplie, continue reviendra au début de l'itération permanente.
sts = myot.ot_checkendofgame()
if sts == 1: #Jeu terminé
break
elif sts < 0: #Je ne peux pas mettre ma main
continue
Symbole utilisé pour le jugement de condition | Comment utiliser | La description |
---|---|---|
signe égal== | if sts == 1: | sts vaut 1 |
Inégalité!= | if sts != 1: | sts n'est pas égal à 1 |
Plus grand> | if sts > 1: | sts est supérieur à 1 (2 ou plus) |
Petit< | if sts < 1: | sts est inférieur à 1 (inférieur ou égal à 0) |
Plus grand nombre égal>= | if sts >= 1: | sts vaut 1 ou plus |
Petit problème<= | if sts <= 1: | sts vaut 1 ou moins |
Donc, la prochaine fois, je voudrais expliquer brièvement l'exécution réelle du programme et les variables utilisées en Python.
<< J'ai créé un Othello pour enseigner Python3 aux enfants (1) J'ai créé Othello pour enseigner Python3 aux enfants (3) >>
Recommended Posts