bparekh99 commited on
Commit
e14775f
·
verified ·
1 Parent(s): 1de0321

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -5
app.py CHANGED
@@ -18,6 +18,10 @@ class State(TypedDict):
18
  roll: int
19
 
20
  # Nodes for LangGraph
 
 
 
 
21
  def input_node(state):
22
  return state
23
 
@@ -34,17 +38,17 @@ def failure_node(state):
34
  return state
35
 
36
  def determine_outcome(state) -> Literal["node_2", "node_3"]:
37
- roll = random.randint(1, 6) + random.randint(1, 6)
38
- state['roll'] = roll
39
- return "node_2" if roll <= state["bet"] else "node_3"
40
 
41
  # Build LangGraph
42
  builder = StateGraph(State)
 
43
  builder.add_node("node_1", input_node)
44
  builder.add_node("node_2", success_node)
45
  builder.add_node("node_3", failure_node)
46
 
47
- builder.add_edge(START, "node_1")
 
48
  builder.add_conditional_edges("node_1", determine_outcome)
49
  builder.add_edge("node_2", END)
50
  builder.add_edge("node_3", END)
@@ -55,7 +59,7 @@ graph = builder.compile()
55
  def play_game(bet: int):
56
  if bet < 1 or bet > 12:
57
  return "Please enter a value between 1 and 12.", global_score["total"], []
58
- result = graph.invoke({"bet": bet, "result": "", "score": global_score["total"], "roll": 0})
59
  game_history.append({"Bet": bet, "Roll": result["roll"], "Result": result["result"], "Score": result["score"]})
60
  history_table_data = [[g["Bet"], g["Roll"], g["Result"], g["Score"]] for g in game_history[::-1]]
61
  return result["result"], result["score"], history_table_data
 
18
  roll: int
19
 
20
  # Nodes for LangGraph
21
+ def roll_node(state):
22
+ state["roll"] = random.randint(1, 6) + random.randint(1, 6)
23
+ return state
24
+
25
  def input_node(state):
26
  return state
27
 
 
38
  return state
39
 
40
  def determine_outcome(state) -> Literal["node_2", "node_3"]:
41
+ return "node_2" if state["roll"] <= state["bet"] else "node_3"
 
 
42
 
43
  # Build LangGraph
44
  builder = StateGraph(State)
45
+ builder.add_node("roll_node", roll_node)
46
  builder.add_node("node_1", input_node)
47
  builder.add_node("node_2", success_node)
48
  builder.add_node("node_3", failure_node)
49
 
50
+ builder.add_edge(START, "roll_node")
51
+ builder.add_edge("roll_node", "node_1")
52
  builder.add_conditional_edges("node_1", determine_outcome)
53
  builder.add_edge("node_2", END)
54
  builder.add_edge("node_3", END)
 
59
  def play_game(bet: int):
60
  if bet < 1 or bet > 12:
61
  return "Please enter a value between 1 and 12.", global_score["total"], []
62
+ result = graph.invoke({"bet": bet, "result": "", "score": global_score["total"]})
63
  game_history.append({"Bet": bet, "Roll": result["roll"], "Result": result["result"], "Score": result["score"]})
64
  history_table_data = [[g["Bet"], g["Roll"], g["Result"], g["Score"]] for g in game_history[::-1]]
65
  return result["result"], result["score"], history_table_data