Juego de Pitón Piedra, Papel o Tijera
Crea un juego de piedra, papel y tijera en Python. Domine las elecciones aleatorias, la validación de las entradas del usuario y las asignaciones de reglas relacionales.
Descripción general
Piedra, papel y tijera es un desafío de lógica de juego estándar. Requiere verificar las entradas con respecto a reglas de juego específicas y determinar un ganador.
En lugar de escribir tediosas escaleras if/else de varias capas, podemos implementar reglas utilizando un diccionario de mapeo. Esto es altamente escalable, lo que permite una fácil expansión de las reglas (por ejemplo, agregar Lizard y Spock).
El script elige aleatoriamente entre las opciones estándar, las compara con la elección del jugador e imprime los resultados, incluidas las actualizaciones de la puntuación.
Código y salida de ejecución
Un script de Piedra, papel o tijera que ilustra la coincidencia de reglas del diccionario y módulos aleatorios.
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!Implementación paso a paso
- Matrices de verificación de reglas decisivas
- Motores selectores de números aleatorios
- Proyectos de lógica de flujo de control educativo.
Preguntas frecuentes
¿Cómo puedo extender esto a Piedra-Papel-Tijera-Lagarto-Spock?
Simplemente expanda la asignación del diccionario `wining_rules` para que cada clave apunte a una lista de elementos que supere. Por ejemplo, `'roca': ['tijeras', 'lagarto']`.
¿Cómo hago para que el juego se ejecute infinitamente hasta que el usuario salga?
Envuelva la lógica de interacción dentro de un bucle " while True: " e interrumpa la ejecución si el jugador ingresa " salir ".
Temas relacionados
Ejecute un juego de terminal Tic-Tac-Toe en Python. Aprenda a administrar el estado de la placa, cambiar de turno y ganar verificaciones de condición.
Implementación del juego Python HangmanCrea y ejecuta un juego del Ahorcado en Python. Explore la verificación de conjuntos de caracteres, los contadores de intentos restantes y el reemplazo de cadenas de palabras ocultas.