Update app.py
Browse files
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 |
-
|
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, "
|
|
|
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"]
|
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
|