Jeu Python Pierre Papier Ciseaux
Créez un jeu Pierre-Papier-Ciseaux en Python. Maîtrisez les choix aléatoires, la validation des entrées utilisateur et les mappages de règles relationnelles.
Aperçu
Rock-Paper-Scissors est un défi logique de jeu standard. Cela nécessite de vérifier les entrées par rapport à des règles de jeu spécifiques et de déterminer un gagnant.
Au lieu d’écrire de fastidieuses échelles if/else multicouches, nous pouvons implémenter des règles à l’aide d’un dictionnaire de mappage. Ceci est hautement évolutif, permettant une extension facile des règles (par exemple, en ajoutant Lizard et Spock).
Le script choisit au hasard parmi les choix standard, le compare au choix du joueur et imprime les résultats, y compris les mises à jour des scores.
Sortie de code et d'exécution
Un script Pierre Papier Ciseaux illustrant la correspondance des règles du dictionnaire et les modules aléatoires.
import random
def get_winner(player, computer):
if player == computer:
return "tie"
# Dictionary mapping choice -> what it beats
winning_rules = {
"rock": "scissors",
"paper": "rock",
"scissors": "paper"
}
if winning_rules[player] == computer:
return "player"
return "computer"
def play_game():
choices = ["rock", "paper", "scissors"]
# Mocking player selections
player_moves = ["rock", "paper", "scissors"]
print("Rock, Paper, Scissors Game!")
# Seed generator for deterministic outputs
random.seed(11)
for player_move in player_moves:
computer_move = random.choice(choices)
winner = get_winner(player_move, computer_move)
print(f"\nPlayer chose: {player_move.capitalize()}")
print(f"Computer chose: {computer_move.capitalize()}")
if winner == "tie":
print("Result: It is a Tie!")
elif winner == "player":
print("Result: Player Wins!")
else:
print("Result: Computer Wins!")
play_game()Rock, Paper, Scissors Game!
Player chose: Rock
Computer chose: Scissors
Result: Player Wins!
Player chose: Paper
Computer chose: Paper
Result: It is a Tie!
Player chose: Scissors
Computer chose: Rock
Result: Computer Wins!Mise en œuvre étape par étape
- Matrices de vérification des règles décisives
- Moteurs de sélection de nombres aléatoires
- Projets éducatifs de logique de flux de contrôle
Foire aux questions
Comment puis-je étendre cela à Rock-Paper-Scissors-Lizard-Spock ?
Développez simplement le mappage du dictionnaire `winner_rules` afin que chaque clé pointe vers une liste d'éléments qu'elle bat. Par exemple, « roche » : [« ciseaux », « lézard »] ».
Comment faire fonctionner le jeu à l'infini jusqu'à ce que l'utilisateur quitte ?
Enveloppez la logique d'interaction dans une boucle « while True : » et interrompez l'exécution si le joueur saisit « quitter ».
Sujets connexes
Exécutez un jeu de terminal Tic-Tac-Toe en Python. Apprenez la gestion de l'état de la carte, la commutation des virages et les contrôles de condition.
Implémentation du jeu Python HangmanCréez et exécutez un jeu Hangman en Python. Explorez la vérification des jeux de caractères, les compteurs d'essais restants et le remplacement des chaînes de mots masquées.