import random import streamlit as st import time def roll_dice(): """Simulates rolling a six-sided dice.""" return random.randint(1, 6) def update_player_position(player_pos, dice, board, message_placeholder): """Updates player position based on the dice roll and board.""" original_pos = player_pos player_pos += dice message = "" if player_pos in board: player_pos = board[player_pos] if player_pos > original_pos: message = "Yay! You climbed a ladder. " elif player_pos < original_pos: message = "Oops! You encountered a snake. " if message: with message_placeholder: st.write(message) time.sleep(2) message_placeholder.empty() return player_pos def draw_board(player_position, board): """Draws the game board using Streamlit.""" board_size = 10 board_squares = [] for i in range(100): row = i // board_size col = i % board_size square_number = i + 1 # Adjust the number according to the row odd or even if row % 2 == 1: square_number = (row * board_size) + (board_size - col) else: square_number = (row * board_size) + col + 1 square_content = str(square_number) if square_number in board: if board[square_number] > square_number: square_content = f"{square_number} ⬆️" #Ladder Icon elif board[square_number] < square_number: square_content = f"{square_number} 🐍" #Snake Icon square_style = "background-color: lightgray; padding: 10px; border: 1px solid black; text-align: center;" if square_number == player_position: square_style = "background-color: red; padding: 10px; border: 1px solid black; text-align: center; color:white; font-weight: bold;" board_squares.append(f"