Spaces:
Sleeping
Sleeping
File size: 8,413 Bytes
b58e2f6 eda6548 b58e2f6 eda6548 b58e2f6 754d77c b58e2f6 754d77c 1bb80aa eda6548 471218c eda6548 471218c eda6548 471218c 754d77c eda6548 47e72df 867f67f b58e2f6 867f67f eda6548 867f67f eda6548 754d77c b58e2f6 eda6548 47e72df b58e2f6 eda6548 b58e2f6 eda6548 754d77c b58e2f6 867f67f 754d77c 867f67f 754d77c 867f67f b58e2f6 867f67f b58e2f6 831c911 754d77c eda6548 754d77c eda6548 754d77c eda6548 1bb80aa eda6548 754d77c eda6548 1bb80aa eda6548 754d77c eda6548 b58e2f6 eda6548 754d77c 831c911 754d77c 831c911 754d77c eda6548 471218c 754d77c eda6548 754d77c b58e2f6 754d77c b58e2f6 eda6548 754d77c eda6548 471218c eda6548 867f67f 47e72df 867f67f 47e72df 754d77c eda6548 754d77c eda6548 47e72df eda6548 754d77c b58e2f6 eda6548 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
import streamlit as st
from streamlit_lottie import st_lottie
import random
import requests
import time
from datetime import datetime
st.set_page_config(page_title="๐ฎ Ultimate Mini Game Arcade", layout="centered")
# Load Lottie animation
def load_lottieurl(url):
r = requests.get(url)
if r.status_code == 200:
return r.json()
return None
lottie_gamepad = load_lottieurl("https://lottie.host/02f43b1d-15c7-4055-a02d-bbfb25d9b5f6/KUzEMZuOE4.json")
if lottie_gamepad:
st_lottie(lottie_gamepad, height=200)
st.title("๐ฎ Ultimate Mini Game Arcade")
st.caption("Fun games in a beautiful interface โจ")
st.markdown("---")
games = [
"Rock Paper Scissors",
"Guess the Number",
"Word Scramble",
"Emoji Quiz",
"Hangman",
"Math Quiz",
"Quick Typing",
"Emoji Memory Match",
"Tic Tac Toe"
]
selected_game = st.selectbox("๐น๏ธ Choose a game:", games)
st.markdown("---")
# Games
def rock_paper_scissors():
st.subheader("๐ชจ Rock Paper Scissors")
player = st.radio("Your move:", ["Rock", "Paper", "Scissors"], horizontal=True)
if st.button("Play!"):
computer = random.choice(["Rock", "Paper", "Scissors"])
st.write(f"Computer chose: **{computer}**")
if player == computer:
st.info("It's a draw!")
elif (player == "Rock" and computer == "Scissors") or \
(player == "Paper" and computer == "Rock") or \
(player == "Scissors" and computer == "Paper"):
st.success("You win!")
else:
st.error("You lose!")
def guess_the_number():
st.subheader("๐ข Guess the Number")
if "target_number" not in st.session_state:
st.session_state.target_number = random.randint(1, 20)
st.session_state.attempts_left = 5
guess = st.number_input("Enter a guess (1-20):", min_value=1, max_value=20, step=1)
col1, col2 = st.columns(2)
with col1:
if st.button("Guess"):
st.session_state.attempts_left -= 1
if guess == st.session_state.target_number:
st.success("๐ Correct!")
del st.session_state.target_number
elif st.session_state.attempts_left == 0:
st.error(f"๐ข Out of attempts! The number was {st.session_state.target_number}")
del st.session_state.target_number
elif guess < st.session_state.target_number:
st.warning("Too low!")
else:
st.warning("Too high!")
with col2:
st.info(f"๐ฏ Attempts left: {st.session_state.attempts_left}")
def word_scramble():
st.subheader("๐ก Word Scramble")
words = ["streamlit", "developer", "python", "banana"]
if "scramble_word" not in st.session_state:
st.session_state.scramble_word = random.choice(words)
st.session_state.scramble_attempts = 3
scrambled = ''.join(random.sample(st.session_state.scramble_word, len(st.session_state.scramble_word)))
st.write(f"Unscramble this: **{scrambled}**")
answer = st.text_input("Your guess:")
col1, col2 = st.columns(2)
with col1:
if st.button("Check"):
if answer.lower() == st.session_state.scramble_word:
st.success("Correct!")
del st.session_state.scramble_word
else:
st.session_state.scramble_attempts -= 1
if st.session_state.scramble_attempts <= 0:
st.error(f"Out of tries! Word was **{st.session_state.scramble_word}**")
del st.session_state.scramble_word
else:
st.warning("Try again!")
with col2:
st.info(f"๐ Tries left: {st.session_state.scramble_attempts}")
def emoji_quiz():
st.subheader("๐ Emoji Quiz")
quiz = {
"๐๐๐ฅค": "Fast Food",
"๐ถ๐ฑ": "Pets",
"๐โ๏ธ": "Travel",
"โฝ๐": "Sports"
}
if "emoji_question" not in st.session_state:
st.session_state.emoji_question, st.session_state.emoji_answer = random.choice(list(quiz.items()))
st.write(f"What does this mean? {st.session_state.emoji_question}")
guess = st.text_input("Your answer:")
if st.button("Check Answer"):
if guess.strip().lower() == st.session_state.emoji_answer.lower():
st.success("Correct!")
del st.session_state.emoji_question
del st.session_state.emoji_answer
else:
st.error("Nope!")
def hangman():
st.subheader("๐ป Hangman")
words = ["pen", "sun", "dog", "python"]
if "hangman_word" not in st.session_state:
st.session_state.hangman_word = random.choice(words)
st.session_state.hangman_tries = 5
guess = st.text_input("Guess the word:")
col1, col2 = st.columns(2)
with col1:
if st.button("Submit"):
st.session_state.hangman_tries -= 1
if guess.lower() == st.session_state.hangman_word:
st.success("Correct!")
del st.session_state.hangman_word
elif st.session_state.hangman_tries <= 0:
st.error(f"Game over! Word was {st.session_state.hangman_word}")
del st.session_state.hangman_word
else:
st.warning(f"Incorrect!")
with col2:
st.info(f"Tries left: {st.session_state.hangman_tries}")
def math_quiz():
st.subheader("โ Math Quiz")
if "a" not in st.session_state:
st.session_state.a = random.randint(1, 15)
st.session_state.b = random.randint(1, 15)
st.write(f"What is {st.session_state.a} + {st.session_state.b}?")
ans = st.number_input("Your answer:", step=1)
if st.button("Submit"):
if ans == st.session_state.a + st.session_state.b:
st.success("Correct!")
else:
st.error(f"Wrong! Answer is {st.session_state.a + st.session_state.b}")
del st.session_state.a
del st.session_state.b
def quick_typing():
st.subheader("โจ๏ธ Quick Typing")
words = ["keyboard", "streamlit", "python", "arcade"]
if "typing_word" not in st.session_state:
st.session_state.typing_word = random.choice(words)
st.session_state.start_time = time.time()
st.info(f"Type this: **{st.session_state.typing_word}**")
user = st.text_input("Start typing:")
time_passed = time.time() - st.session_state.start_time
duration = len(st.session_state.typing_word) * 0.7
st.write(f"โณ Time used: {int(time_passed)}s / {int(duration)}s")
if st.button("Check"):
if time_passed > duration:
st.error("โฐ Time exceeded!")
elif user == st.session_state.typing_word:
st.success("Perfect!")
else:
st.error("Incorrect!")
del st.session_state.typing_word
def emoji_memory():
st.subheader("๐ง Emoji Memory Match")
emojis = random.sample(["๐", "๐", "๐ถ", "๐", "๐", "๐"], 4)
if "emoji_mem" not in st.session_state:
st.session_state.emoji_mem = emojis
st.session_state.mem_start = datetime.now()
if (datetime.now() - st.session_state.mem_start).seconds < 5:
st.info("Memorize these:")
st.code(" ".join(st.session_state.emoji_mem))
else:
guess = st.text_input("Enter one emoji you remember:")
if st.button("Check"):
if guess.strip() in st.session_state.emoji_mem:
st.success("Correct!")
else:
st.error(f"Oops! Emojis were: {' '.join(st.session_state.emoji_mem)}")
del st.session_state.emoji_mem
def tic_tac_toe():
st.subheader("โ Tic Tac Toe")
st.write("โ
Coming soon! Placeholder for a playable board.")
# Dispatcher
if selected_game == "Rock Paper Scissors":
rock_paper_scissors()
elif selected_game == "Guess the Number":
guess_the_number()
elif selected_game == "Word Scramble":
word_scramble()
elif selected_game == "Emoji Quiz":
emoji_quiz()
elif selected_game == "Hangman":
hangman()
elif selected_game == "Math Quiz":
math_quiz()
elif selected_game == "Quick Typing":
quick_typing()
elif selected_game == "Emoji Memory Match":
emoji_memory()
elif selected_game == "Tic Tac Toe":
tic_tac_toe()
st.markdown("---")
st.markdown("<center>๐ Built with โค๏ธ for fun and feedback on LinkedIn!</center>", unsafe_allow_html=True)
|