awacke1 commited on
Commit
68c2962
Β·
1 Parent(s): 1ba06de

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +2 -23
app.py CHANGED
@@ -9,11 +9,6 @@ wildlife_tokens = ['🐻', 'πŸ¦…', '🐟', '🦌', '🐿️']
9
  players = ['Player 1', 'Player 2']
10
  save_file = 'cascadia_game_state.csv'
11
 
12
- # Scoring Function
13
- def calculate_score(habitat, wildlife):
14
- # Example scoring logic: 10 points if they match, else 1 point
15
- return 10 if habitat == wildlife else 1
16
-
17
  # Function to load game state from CSV
18
  def load_game_state():
19
  if os.path.exists(save_file):
@@ -47,18 +42,16 @@ def save_game_state(game_state):
47
  df = pd.DataFrame(data)
48
  df.to_csv(save_file, index=False)
49
 
50
-
51
  # Initialize or load game state
52
  game_state = load_game_state()
53
  if game_state is None:
54
  game_state = {
55
  'habitat_stack': random.sample(habitat_tiles * 10, 50),
56
  'wildlife_stack': random.sample(wildlife_tokens * 10, 50),
57
- 'players': {player: {'habitat': [], 'wildlife': [], 'nature_tokens': 3, 'score': 0} for player in players}
58
  }
59
  save_game_state(game_state)
60
 
61
-
62
  # Streamlit Interface
63
  st.title("🌲 Cascadia Lite 🌲")
64
 
@@ -68,18 +61,8 @@ def draw_habitat_and_wildlife(player, game_state):
68
  wildlife = game_state['wildlife_stack'].pop()
69
  game_state['players'][player]['habitat'].append(habitat)
70
  game_state['players'][player]['wildlife'].append(wildlife)
71
- # Calculate and update score
72
- score = calculate_score(habitat, wildlife)
73
- game_state['players'][player]['score'] += score
74
  save_game_state(game_state)
75
 
76
- # Function to change wildlife
77
- def change_wildlife(player, game_state):
78
- if game_state['players'][player]['wildlife']:
79
- game_state['players'][player]['wildlife'][-1] = random.choice(wildlife_tokens)
80
- save_game_state(game_state)
81
- else:
82
- st.warning(f"{player}, you have no wildlife to change!")
83
 
84
  # Display players' areas and handle actions
85
  col1, col2 = st.columns(2)
@@ -92,15 +75,11 @@ for index, player in enumerate(players):
92
  })
93
  st.dataframe(player_data)
94
 
95
- # Display current score
96
- st.write(f"Current Score: {game_state['players'][player]['score']}")
97
-
98
  if st.button(f"{player}: Draw Habitat and Wildlife"):
99
  draw_habitat_and_wildlife(player, game_state)
100
  game_state = load_game_state()
101
 
102
-
103
-
104
  # Tile and Wildlife Placement
105
  placement_options = ['Place Habitat', 'Place Wildlife', 'Skip']
106
  placement_choice = st.selectbox(f"{player}: Choose an action", placement_options, key=f'placement_{player}')
 
9
  players = ['Player 1', 'Player 2']
10
  save_file = 'cascadia_game_state.csv'
11
 
 
 
 
 
 
12
  # Function to load game state from CSV
13
  def load_game_state():
14
  if os.path.exists(save_file):
 
42
  df = pd.DataFrame(data)
43
  df.to_csv(save_file, index=False)
44
 
 
45
  # Initialize or load game state
46
  game_state = load_game_state()
47
  if game_state is None:
48
  game_state = {
49
  'habitat_stack': random.sample(habitat_tiles * 10, 50),
50
  'wildlife_stack': random.sample(wildlife_tokens * 10, 50),
51
+ 'players': {player: {'habitat': [], 'wildlife': [], 'nature_tokens': 3} for player in players}
52
  }
53
  save_game_state(game_state)
54
 
 
55
  # Streamlit Interface
56
  st.title("🌲 Cascadia Lite 🌲")
57
 
 
61
  wildlife = game_state['wildlife_stack'].pop()
62
  game_state['players'][player]['habitat'].append(habitat)
63
  game_state['players'][player]['wildlife'].append(wildlife)
 
 
 
64
  save_game_state(game_state)
65
 
 
 
 
 
 
 
 
66
 
67
  # Display players' areas and handle actions
68
  col1, col2 = st.columns(2)
 
75
  })
76
  st.dataframe(player_data)
77
 
78
+ # Drafting Phase
 
 
79
  if st.button(f"{player}: Draw Habitat and Wildlife"):
80
  draw_habitat_and_wildlife(player, game_state)
81
  game_state = load_game_state()
82
 
 
 
83
  # Tile and Wildlife Placement
84
  placement_options = ['Place Habitat', 'Place Wildlife', 'Skip']
85
  placement_choice = st.selectbox(f"{player}: Choose an action", placement_options, key=f'placement_{player}')