awacke1 commited on
Commit
80da3b8
·
1 Parent(s): d99eafb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -8
app.py CHANGED
@@ -13,14 +13,13 @@ save_file = 'cascadia_game_state.csv'
13
  def initialize_game():
14
  st.session_state['habitat_stack'] = random.sample(habitat_tiles * 10, 50)
15
  st.session_state['wildlife_stack'] = random.sample(wildlife_tokens * 10, 50)
16
- for player in players:
17
- st.session_state[player] = {'habitat': [], 'wildlife': [], 'nature_tokens': 3}
18
 
19
  def load_game_state():
20
  if os.path.exists(save_file):
21
  df = pd.read_csv(save_file)
22
  for player in players:
23
- st.session_state[player] = {
24
  'habitat': df[player + '_habitat'].dropna().tolist(),
25
  'wildlife': df[player + '_wildlife'].dropna().tolist(),
26
  'nature_tokens': df[player + '_nature_tokens'][0]
@@ -34,15 +33,16 @@ def save_game_state():
34
  'wildlife_stack': pd.Series(st.session_state['wildlife_stack'])
35
  }
36
  for player in players:
37
- data[player + '_habitat'] = pd.Series(st.session_state[player]['habitat'])
38
- data[player + '_wildlife'] = pd.Series(st.session_state[player]['wildlife'])
39
- data[player + '_nature_tokens'] = pd.Series([st.session_state[player]['nature_tokens']])
 
40
  df = pd.DataFrame(data)
41
  df.to_csv(save_file, index=False)
42
 
43
- if 'habitat_stack' not in st.session_state:
44
  load_game_state()
45
- if 'habitat_stack' not in st.session_state:
46
  initialize_game()
47
 
48
  # Streamlit Interface
 
13
  def initialize_game():
14
  st.session_state['habitat_stack'] = random.sample(habitat_tiles * 10, 50)
15
  st.session_state['wildlife_stack'] = random.sample(wildlife_tokens * 10, 50)
16
+ st.session_state['players'] = {player: {'habitat': [], 'wildlife': [], 'nature_tokens': 3} for player in players}
 
17
 
18
  def load_game_state():
19
  if os.path.exists(save_file):
20
  df = pd.read_csv(save_file)
21
  for player in players:
22
+ st.session_state['players'][player] = {
23
  'habitat': df[player + '_habitat'].dropna().tolist(),
24
  'wildlife': df[player + '_wildlife'].dropna().tolist(),
25
  'nature_tokens': df[player + '_nature_tokens'][0]
 
33
  'wildlife_stack': pd.Series(st.session_state['wildlife_stack'])
34
  }
35
  for player in players:
36
+ player_state = st.session_state['players'][player]
37
+ data[player + '_habitat'] = pd.Series(player_state['habitat'])
38
+ data[player + '_wildlife'] = pd.Series(player_state['wildlife'])
39
+ data[player + '_nature_tokens'] = pd.Series([player_state['nature_tokens']])
40
  df = pd.DataFrame(data)
41
  df.to_csv(save_file, index=False)
42
 
43
+ if 'players' not in st.session_state:
44
  load_game_state()
45
+ if 'players' not in st.session_state:
46
  initialize_game()
47
 
48
  # Streamlit Interface