incognitolm commited on
Commit
d7ac04f
·
verified ·
1 Parent(s): 15292c8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -3
app.py CHANGED
@@ -105,7 +105,6 @@ async def handle_action(request: Request):
105
  "challengeType": 'steal',
106
  "status": 'pending'
107
  }
108
- game["permissions"][player]["steal"] = False
109
  return {"success": True, "message": f"Steal initiated by {player} targeting {target}. Awaiting response from {target}."}
110
  else:
111
  return {"success": False, "message": "You can only steal once per turn."}
@@ -120,6 +119,7 @@ async def handle_action(request: Request):
120
  return {"success": False, "message": "Player not found in game."}
121
  next_index = (current_index + 1) % len(players_list)
122
  game["turn"] = players_list[next_index]["name"]
 
123
  return {"success": True, "message": f"Turn ended. Next turn: {game['turn']}"}
124
 
125
 
@@ -161,8 +161,6 @@ async def handle_action(request: Request):
161
  player_data = next((p for p in game["players"] if p["name"] == player), None)
162
  if not game["permissions"].get(player, {}).get("gain", True):
163
  return {"success": False, "message": "You can only earn money once per turn."}
164
- # Set gain to false immediately.
165
- game["permissions"][player]["gain"] = False
166
  game["challenge"] = {
167
  "action": "duke",
168
  "challenger": player,
@@ -184,6 +182,7 @@ async def handle_action(request: Request):
184
  coins_to_steal = min(target_player["coins"], 2)
185
  target_player["coins"] -= coins_to_steal
186
  challenger_player["coins"] += coins_to_steal
 
187
  game["challenge"] = None
188
  return {"success": True, "message": f"Steal accepted. {coins_to_steal} coins transferred from {target_player['name']} to {challenger_player['name']}."}
189
  elif response == 'challenge':
@@ -191,6 +190,7 @@ async def handle_action(request: Request):
191
  coins_to_steal = min(target_player["coins"], 2)
192
  target_player["coins"] -= coins_to_steal
193
  challenger_player["coins"] += coins_to_steal
 
194
  game["challenge"]["status"] = 'choose'
195
  game["challenge"]["challenger"] = target_player['name']
196
  game["challenge"]["target"] = challenger_player['name']
@@ -310,6 +310,7 @@ async def handle_action(request: Request):
310
  if len(game["challenge"]["responses"]) == total_opponents:
311
  acting_player = next(p for p in game["players"] if p["name"] == game["challenge"]["challenger"])
312
  acting_player["coins"] += 3
 
313
  game["challenge"] = None
314
  return {"success": True, "message": f"Duke action accepted. {acting_player['name']} gains 3 coins."}
315
  else:
@@ -321,6 +322,7 @@ async def handle_action(request: Request):
321
  game["challenge"]["challenger"] = player
322
  game["challenge"]["target"] = acting_player["name"]
323
  acting_player["coins"] += 3
 
324
  return {"success": True, "message": f"Challenge failed. {player} must choose a card to lose.", "challenge": game["challenge"]}
325
  else:
326
  game["challenge"]["status"] = "choose"
 
105
  "challengeType": 'steal',
106
  "status": 'pending'
107
  }
 
108
  return {"success": True, "message": f"Steal initiated by {player} targeting {target}. Awaiting response from {target}."}
109
  else:
110
  return {"success": False, "message": "You can only steal once per turn."}
 
119
  return {"success": False, "message": "Player not found in game."}
120
  next_index = (current_index + 1) % len(players_list)
121
  game["turn"] = players_list[next_index]["name"]
122
+ game["permissions"][player]["gain"] = True
123
  return {"success": True, "message": f"Turn ended. Next turn: {game['turn']}"}
124
 
125
 
 
161
  player_data = next((p for p in game["players"] if p["name"] == player), None)
162
  if not game["permissions"].get(player, {}).get("gain", True):
163
  return {"success": False, "message": "You can only earn money once per turn."}
 
 
164
  game["challenge"] = {
165
  "action": "duke",
166
  "challenger": player,
 
182
  coins_to_steal = min(target_player["coins"], 2)
183
  target_player["coins"] -= coins_to_steal
184
  challenger_player["coins"] += coins_to_steal
185
+ game["permissions"][player]["steal"] = False
186
  game["challenge"] = None
187
  return {"success": True, "message": f"Steal accepted. {coins_to_steal} coins transferred from {target_player['name']} to {challenger_player['name']}."}
188
  elif response == 'challenge':
 
190
  coins_to_steal = min(target_player["coins"], 2)
191
  target_player["coins"] -= coins_to_steal
192
  challenger_player["coins"] += coins_to_steal
193
+ game["permissions"][player]["steal"] = False
194
  game["challenge"]["status"] = 'choose'
195
  game["challenge"]["challenger"] = target_player['name']
196
  game["challenge"]["target"] = challenger_player['name']
 
310
  if len(game["challenge"]["responses"]) == total_opponents:
311
  acting_player = next(p for p in game["players"] if p["name"] == game["challenge"]["challenger"])
312
  acting_player["coins"] += 3
313
+ game["permissions"][player]["gain"] = False
314
  game["challenge"] = None
315
  return {"success": True, "message": f"Duke action accepted. {acting_player['name']} gains 3 coins."}
316
  else:
 
322
  game["challenge"]["challenger"] = player
323
  game["challenge"]["target"] = acting_player["name"]
324
  acting_player["coins"] += 3
325
+ game["permissions"][player]["gain"] = False
326
  return {"success": True, "message": f"Challenge failed. {player} must choose a card to lose.", "challenge": game["challenge"]}
327
  else:
328
  game["challenge"]["status"] = "choose"