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
|