awacke1's picture
Create backup.app.py
eb8835a
raw
history blame contribute delete
No virus
3.12 kB
import streamlit as st
import pandas as pd
PLAYERS = {
"Player 1": {"Sketch": "🎨", "Character": "πŸ§™β€β™€οΈ", "Player Board": "πŸ“œ", "Action Dice": "🎲", "Health Tokens": "❀️", "Coin Tokens": "πŸ’°", "Battle Tokens": "βš”οΈ", "Attack": 5, "Defense": 3},
"Player 2": {"Sketch": "🎨", "Character": "πŸ§™β€β™‚οΈ", "Player Board": "πŸ“œ", "Action Dice": "🎲", "Health Tokens": "❀️", "Coin Tokens": "πŸ’°", "Battle Tokens": "βš”οΈ", "Attack": 4, "Defense": 4},
}
MONSTERS = {
"Goblin": {"Picture": "πŸ‘Ί", "Description": "A small, mischievous creature with sharp teeth and claws.", "Attack": 2, "Defense": 1},
"Orc": {"Picture": "πŸ‘Ή", "Description": "A large, brutish humanoid with green skin and a nasty temperament.", "Attack": 4, "Defense": 2},
"Dragon": {"Picture": "🐲", "Description": "A massive, fire-breathing beast with scales as hard as steel.", "Attack": 6, "Defense": 5},
}
def get_random_monster():
monster_name = st.session_state.selected_monster
if monster_name:
monster = MONSTERS[monster_name]
st.write("Picture: ", monster["Picture"])
st.write("Description: ", monster["Description"])
st.write("Attack: ", monster["Attack"])
st.write("Defense: ", monster["Defense"])
return monster
else:
return None
def save_data():
data = pd.DataFrame.from_dict(st.session_state.players, orient="index")
filename = "player_data.csv"
data.to_csv(filename)
st.write(f"Player data saved to {filename}")
def display_player_card(player_name, player_data):
st.write(f"**{player_name}**")
for key, value in player_data.items():
st.write(f"{key}: {value}")
def battle_player_card():
selected_player = st.session_state.selected_player
selected_monster = st.session_state.selected_monster
if not selected_player:
st.warning("Please select a player card.")
return
if not selected_monster:
st.warning("Please select a monster.")
return
player_data = PLAYERS[selected_player]
monster_data = MONSTERS[selected_monster]
if player_data["Attack"] > monster_data["Defense"]:
st.success("You defeated the monster!")
else:
st.error("The monster defeated you.")
save_data()
def main():
st.set_page_config(page_title="Player Cards and Monsters")
st.title("Player Cards and Monsters")
st.write("πŸƒ Select a player card to reveal a monster and battle it! πŸ‰")
if "players" not in st.session_state:
st.session_state.players = {}
st.sidebar.title("πŸƒ Select a Player Card")
selected_player = st.sidebar.radio("Select a player:", list(PLAYERS.keys()))
display_player_card(selected_player, PLAYERS[selected_player])
if st.button("πŸ”₯ Battle!"):
st.session_state.selected_player = selected_player
st.session_state.selected_monster = st.sidebar.selectbox("Select a monster:", list(MONSTERS.keys()))
monster = get_random_monster()
if monster:
battle_player_card()
if __name__ == "__main__":
main()