Untitled
unknown
python
2 years ago
1.9 kB
4
Indexable
import random
class SnakeAndLadderGame:
def __init__(self):
self.board = {}
self.snakes = [(17, 7), (54, 34), (62, 19), (98, 79), (93, 73), (95, 75), (99, 78)]
self.ladders = [(4, 14), (9, 31), (20, 38), (28, 84), (40, 59), (63, 81), (71, 91)]
self.player_position = {"Player 1": 0, "Player 2": 0}
def create_board(self):
for start, end in self.snakes:
self.board[start] = end
for start, end in self.ladders:
self.board[start] = end
def roll_dice(self):
return random.randint(1, 6)
def move_player(self, player):
dice_roll = self.roll_dice()
print(f"{player} rolled a {dice_roll}.")
self.player_position[player] += dice_roll
if self.player_position[player] in self.board:
new_position = self.board[self.player_position[player]]
if new_position > self.player_position[player]:
print(f"{player} encountered a ladder! Climbing from {self.player_position[player]} to {new_position}.")
else:
print(f"{player} encountered a snake! Sliding down from {self.player_position[player]} to {new_position}.")
self.player_position[player] = new_position
print(f"{player}'s new position: {self.player_position[player]}")
def play_game(self):
self.create_board()
print("Welcome to Snake and Ladder Game!")
current_player = "Player 1"
while True:
input(f"{current_player}, Press Enter to roll the dice...")
self.move_player(current_player)
if self.player_position[current_player] >= 100:
print(f"Congratulations! {current_player} wins!")
break
current_player = "Player 2" if current_player == "Player 1" else "Player 1"
# Start the game
game = SnakeAndLadderGame()
game.play_game()Editor is loading...
Leave a Comment