Ce tutoriel de jeu simple vous aidera à pratiquer les bases de la programmation Python.
Créer un jeu "Pierre, Papier, Ciseaux" en Python est un excellent moyen d'améliorer vos compétences en programmation. Vous pouvez créer le jeu avec un seul script Python et le jouer sur la ligne de commande.
Le jeu commence en demandant au joueur son choix: "pierre", "papier" ou "ciseaux". Il attend ensuite qu'ils entrent leur réponse. Vous pouvez jouer le jeu contre un joueur "ordinateur", qui sélectionnera automatiquement son coup.
Le jeu peut également inclure plusieurs tours. Ainsi, même si vous perdez le premier tour, vous pouvez toujours tenter d'en gagner deux sur trois !
Comment configurer le jeu et demander au joueur son coup
Lorsque le jeu démarre, le programme Python doit demander au joueur d'entrer soit "pierre", "papier" ou "ciseaux", et prendre en compte la réponse du joueur. Pour configurer un nouveau jeu, commencez par créer un nouveau fichier Python avec une extension .py.
Le code complet de ce tutoriel est disponible dans un référentiel GitHub.
- Créez un nouveau fichier appelé RockPaperScissors.py.
- Ouvrez le nouveau fichier Python à l'aide de n'importe quel éditeur de texte, tel que Notepad++ ou Visual Studio Code.
- En haut du fichier, importez le module random. Vous l'utiliserez plus tard dans le jeu pour sélectionner au hasard un mouvement pour le tour de l'ordinateur.
importer aléatoire
- Présentez un message au joueur, lui demandant d'entrer une pierre, du papier ou des ciseaux.
userChoice = entrée(« Pierre, papier ou ciseaux? ").inférieur()
- Initialisez un tableau appelé "moveOptions" qui stocke une liste des coups disponibles que vous ou l'ordinateur pouvez jouer.
moveOptions = ['osciller', 'papier', 'ciseaux']
- Lorsque le joueur saisit une entrée, validez-la pour vous assurer qu'il s'agit de l'un des coups disponibles. Une fois que le joueur a saisi un coup valide, imprimez un message de confirmation.
alors que (choix de l'utilisateur non dans moveOptions):
userChoice = entrée("Choix invalide. Doit être une pierre, du papier ou des ciseaux: ").inférieur()
imprimer("")
imprimer(f"Vous avez choisi {userChoice}.")
Comment jouer à tour de rôle avec l'ordinateur et comparer les mouvements
Une fois que vous avez entré votre coup, l'ordinateur prendra son tour en sélectionnant au hasard soit "pierre", "papier" ou "ciseaux". Le jeu devra alors comparer votre coup avec le coup de l'ordinateur pour déterminer qui a gagné.
- Utilisez le module aléatoire pour que l'ordinateur sélectionne au hasard dans la liste des coups disponibles.
computerChoice = random.choice (moveOptions)
imprimer(f"L'ordinateur a choisi {ordinateurChoix}.") - Vous devrez comparer votre coup avec le coup de l'ordinateur pour déterminer qui a gagné. Vous pouvez le faire en créant un nouveau dictionnaire. Ce dictionnaire contient chaque mouvement (par exemple, "rock"), et quel mouvement il gagne ou perd (par exemple, "rock" bat "ciseaux" et perd contre "papier").
se déplace = {
'osciller': { 'Beats': 'ciseaux', 'perd à': 'papier' },
'ciseaux': { 'Beats': 'papier', 'perd à': 'osciller' },
'papier': { 'Beats': 'osciller', 'perd à': 'ciseaux' },
} -
Utiliser l'instruction Python if pour vérifier si votre coup et celui de l'ordinateur entraînent une égalité. Sinon, utilisez le dictionnaire de coups pour comparer le coup du joueur au coup de l'ordinateur.
Par exemple, si vous choisissez "rock", alors la valeur de move[userChoice]['beats'] sera "scissors". Si le choix de l'ordinateur était "ciseaux", cela signifie que votre coup a battu le leur.si userChoice == computerChoice :
imprimer(f"Vous et l'ordinateur avez choisi {userChoice}. C'est une cravate!")
autre:
si (déplace[userChoice]['Beats'] == ordinateurChoix):
imprimer(F"{userChoice} Beats {ordinateurChoix}. Vous gagnez!")
si (déplace[userChoice]['perd à'] == ordinateurChoix):
imprimer(F"{userChoice} perd à {ordinateurChoix}. L'ordinateur gagne !")
Comment garder le score entre le joueur et l'ordinateur entre plusieurs tours
Vous pouvez également ajouter des tours supplémentaires, où vous et l'ordinateur jouez trois tours chacun.
Une fois que vous et l'ordinateur avez choisi la pierre, le papier ou les ciseaux, le jeu vous le demandera à nouveau et gardera une trace de vos scores. Le score du joueur augmente en fonction du vainqueur de ce tour particulier.
- Le code actuel représente un seul tour de tours effectué à la fois par le joueur et l'ordinateur. Ajoutez tout le code actuel à l'exception de l'instruction d'importation dans une nouvelle fonction turn(). Vous pouvez également modifier les messages de sortie en conséquence, pour dire "Vous gagnez ce tour" plutôt que "Vous gagnez":
définitivementtourner():
userChoice = entrée(« Pierre, papier ou ciseaux? ").inférieur()moveOptions = ['osciller', 'papier', 'ciseaux']
alors que (choix de l'utilisateur non dans moveOptions):
userChoice = entrée("Choix invalide. Doit être une pierre, du papier ou des ciseaux: ").inférieur()imprimer("")
imprimer(f"Vous avez choisi {userChoice}.")computerChoice = random.choice (moveOptions)
imprimer(f"L'ordinateur a choisi {ordinateurChoix}.")se déplace = {
'osciller': { 'Beats': 'ciseaux', 'perd à': 'papier' },
'ciseaux': { 'Beats': 'papier', 'perd à': 'osciller' },
'papier': { 'Beats': 'osciller', 'perd à': 'ciseaux' },
}si userChoice == computerChoice :
imprimer(f"Vous et l'ordinateur avez choisi {userChoice}. C'est une cravate!")
autre:
si (déplace[userChoice]['Beats'] == ordinateurChoix):
imprimer(F"{userChoice} Beats {ordinateurChoix}. Vous gagnez ce tour !")si (déplace[userChoice]['perd à'] == ordinateurChoix):
imprimer(F"{userChoice} perd à {ordinateurChoix}. L'ordinateur gagne !") - Le joueur et l'ordinateur peuvent jouer trois tours chacun. Ajoutez une variable globale appelée "tours" en haut du fichier.
tours = 3
- Après la fonction turn(), utiliser une boucle for Python répéter le tour trois fois. Au début de chaque tour, imprimez le numéro du tour. Appelez la fonction turn() pour demander au joueur et à l'ordinateur d'effectuer leurs mouvements pour ce tour.
pour i dans la plage (tours):
imprimer("")
imprimer(f" rond {je+1}: ")
tourner() - Pour savoir qui a gagné chaque tour, ajoutez une variable de score pour chaque joueur, en haut du fichier. Vous assignerez des valeurs à ces variables dans la fonction turn(), assurez-vous donc de les utiliser comme variables globales.
ordinateurScore = 0
joueurScore = 0définitivementtourner():
mondial score de l'ordinateur, score du joueur - Dans la fonction turn(), une fois que le joueur et l'ordinateur ont effectué leur coup, ajoutez un point au score du gagnant. Modifiez l'instruction if pour incrémenter la valeur de la variable "playerScore" ou "computerScore".
si (déplace[userChoice]['Beats'] == ordinateurChoix):
imprimer(F"{userChoice} Beats {ordinateurChoix}. Vous gagnez ce tour !")
joueurScore += 1si (déplace[userChoice]['perd à'] == ordinateurChoix):
imprimer(F"{userChoice} perd à {ordinateurChoix}. L'ordinateur gagne !")
ordinateurScore += 1 - À la fin de la fonction turn(), imprimez une mise à jour des scores totaux pour chaque joueur.
# Imprimer une mise à jour sur les scores totaux après le tour
imprimer("")
imprimer(f"TABLEAU DE BORD | Score du joueur: {playerScore} | Score de l'ordinateur: {computerScore}") - En toute fin de partie, et après la boucle for qui répète les tours du joueur et de l'ordinateur, imprimez le gagnant final.
imprimer("")
si (computerScore > playerScore):
imprimer(f"L'ordinateur gagne avec {computerScore} points!")
elif (playerScore > computerScore):
imprimer(f"Vous gagnez avec {playerScore} points!")
autre:
imprimer(f"C'est une égalité! Vous gagnez tous les deux avec {playerScore} points!")
Comment lancer le jeu
Pour jouer au jeu, exécutez le script Python à l'aide d'un terminal ou d'une invite de commande. Entrez votre coup et attendez que l'ordinateur fasse le sien. Une fois que vous avez terminé trois tours, le programme affichera le gagnant.
- Ouvrez une invite de commande ou un terminal et accédez au dossier dans lequel vous stockez votre fichier Python.
- Utilisez la commande python pour exécuter le script :
pythonPierre papier ciseaux.py
- Jouez au jeu en entrant soit 'pierre', 'papier' ou 'ciseaux'.
Apprendre Python en créant des jeux
Créer des jeux simples comme un jeu "Pierre, Papier, Ciseaux" est un excellent moyen de se familiariser avec les concepts de programmation. Il y a tellement d'autres jeux amusants que vous pouvez créer en utilisant Python, comme un jeu d'aventure textuel.