import streamlit as st import pandas as pd from datetime import datetime def initialize_session_state(): if 'spins_left' not in st.session_state: st.session_state.spins_left = 3 if 'current_tickets' not in st.session_state: st.session_state.current_tickets = 0 if 'high_scores' not in st.session_state: st.session_state.high_scores = pd.DataFrame( columns=['Player', 'Score', 'Date'] ) # Add a dummy score dummy_score = pd.DataFrame({ 'Player': ['Bill'], 'Score': [100], 'Date': [datetime.now().strftime("%Y-%m-%d %H:%M")] }) st.session_state.high_scores = pd.concat([st.session_state.high_scores, dummy_score], ignore_index=True) if 'game_active' not in st.session_state: st.session_state.game_active = True if 'spin_result' not in st.session_state: st.session_state.spin_result = None def submit_score(): player_name = st.session_state.player_name if player_name.strip(): new_score = pd.DataFrame({ 'Player': [player_name], 'Score': [st.session_state.current_tickets], 'Date': [datetime.now().strftime("%Y-%m-%d %H:%M")] }) st.session_state.high_scores = pd.concat([st.session_state.high_scores, new_score], ignore_index=True) st.session_state.high_scores = st.session_state.high_scores.sort_values(by='Score', ascending=False).head(10) # Reset game st.session_state.spins_left = 3 st.session_state.current_tickets = 0 st.session_state.game_active = True st.session_state.player_name = "" # Clear the name after submission st.rerun() def create_spin_wheel_app(): # Initialize session state initialize_session_state() # Set page config st.set_page_config( page_title="Spin the Wheel Game!", page_icon="🎯", layout="wide" ) # Create two columns for layout col1, col2 = st.columns([2, 1]) with col1: st.title("🎯 Spin the Wheel Game!") st.write(f"Spins left: {st.session_state.spins_left} | Current Tickets: {st.session_state.current_tickets}") # HTML and JavaScript code for the spinning wheel html_code = """