import random
# Initialize variables
grid_size = 5 # Grid is 5x5
grid = [['.' for _ in range(grid_size)] for _ in range(grid_size)] # 5x5 grid of empty spaces
treasure_position = (random.randint(0, grid_size-1), random.randint(0, grid_size-1))
player_position = [0, 0] # Player starts at the top-left corner (0, 0)
# Place the treasure in the grid
grid[treasure_position[0]][treasure_position[1]] = 'T'
# Function to display the grid
def display_grid():
for row in grid:
print(' '.join(row))
# Function to update the player's position
def update_player_position(new_position):
grid[player_position[0]][player_position[1]] = '.' # Remove old position
player_position[0] = new_position[0]
player_position[1] = new_position[1]
grid[player_position[0]][player_position[1]] = 'P' # Mark new position with 'P'
# Function to check if player found the treasure
def check_for_treasure():
return player_position == list(treasure_position)
# Main game loop
def play_game():
print("Welcome to the Treasure Hunt Game!")
grid[player_position[0]][player_position[1]] = 'P' # Mark initial position
while True:
display_grid()
# Take player input for movement
move = input("Move (up/down/left/right): ").lower()
# Handle movement
if move == "up" and player_position[0] > 0:
update_player_position([player_position[0] - 1, player_position[1]])
elif move == "down" and player_position[0] < grid_size - 1:
update_player_position([player_position[0] + 1, player_position[1]])
elif move == "left" and player_position[1] > 0:
update_player_position([player_position[0], player_position[1] - 1])
elif move == "right" and player_position[1] < grid_size - 1:
update_player_position([player_position[0], player_position[1] + 1])
else:
print("Invalid move. Try again.")
continue # Skip to next iteration if invalid move
# Check if player found the treasure
if check_for_treasure():
display_grid()
print("Congratulations! You found the treasure!")
break
# Run the game
play_game()