File size: 1,875 Bytes
f5621cb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import random

# Game setup
st.title("Fighting Game")

# Character stats
player = {"name": "Player", "health": 100, "attack_range": (10, 20)}
enemy = {"name": "Enemy", "health": 100, "attack_range": (8, 15)}

# Game state
if "game_over" not in st.session_state:
    st.session_state.game_over = False
if "player_health" not in st.session_state:
    st.session_state.player_health = player["health"]
if "enemy_health" not in st.session_state:
    st.session_state.enemy_health = enemy["health"]

# Functions
def attack(attacker, defender, defender_health):
    damage = random.randint(*attacker["attack_range"])
    defender_health -= damage
    return damage, defender_health

# Game loop
if not st.session_state.game_over:
    st.subheader(f"Player Health: {st.session_state.player_health} | Enemy Health: {st.session_state.enemy_health}")

    # Player's attack
    if st.button("Attack Enemy"):
        damage, st.session_state.enemy_health = attack(player, enemy, st.session_state.enemy_health)
        st.write(f"You attacked the Enemy for {damage} damage!")

        # Enemy retaliates if alive
        if st.session_state.enemy_health > 0:
            damage, st.session_state.player_health = attack(enemy, player, st.session_state.player_health)
            st.write(f"The Enemy attacked you for {damage} damage!")

    # Check if game is over
    if st.session_state.enemy_health <= 0:
        st.success("You defeated the Enemy!")
        st.session_state.game_over = True
    elif st.session_state.player_health <= 0:
        st.error("You were defeated by the Enemy!")
        st.session_state.game_over = True

else:
    if st.button("Restart Game"):
        st.session_state.game_over = False
        st.session_state.player_health = player["health"]
        st.session_state.enemy_health = enemy["health"]
        st.experimental_rerun()