def main()

in prisoner/prisoner.py [0:0]


def main():
    st.title("Prisoner's Dilemma: Gemini vs. DeepSeek")

    # Initialize agents and crews
    gemini_agent = make_agent(
        llm=make_gemini(),
        name="Gemini",
        strategy="bluff-master",
        lore_key="wildcard",
    )

    deepseek_agent = make_agent(
        llm=make_deepseek(),
        name="DeepSeek",
        strategy="bluff-master",
        lore_key="wildcard",
    )

    gemini_task = make_task(gemini_agent)
    deepseek_task = make_task(deepseek_agent)

    gemini_crew = Crew(agents=[gemini_agent], tasks=[gemini_task], verbose=True)
    deepseek_crew = Crew(agents=[deepseek_agent], tasks=[deepseek_task], verbose=True)

    # Initialize the game state
    game_state = GameState(max_turns=5)

    st.subheader("Initial Game State")
    st.json(game_state.get_summary())

    st.json(
        {
            "Gemini": gemini_agent.backstory,
            "DeepSeek": deepseek_agent.backstory,
        }
    )

    # Main game loop
    for turn_number in range(game_state.max_turns):
        st.subheader(f"Turn {turn_number}")

        # Kick off Gemini crew
        gemini_result = gemini_crew.kickoff(inputs={"game_state": game_state.get_summary()})
        gemini_move = gemini_result["move"]
        gemini_thought = gemini_result["thought"]

        st.write(f"**Gemini's Move:** {gemini_move}")
        st.write(f"**Gemini's Thought:** {gemini_thought}")

        # Kick off DeepSeek crew
        deepseek_result = deepseek_crew.kickoff(inputs={"game_state": game_state.get_summary()})
        deepseek_move = deepseek_result["move"]
        deepseek_thought = deepseek_result["thought"]

        # Apply moves to the game state
        game_state.add_turn({"Gemini": Move(gemini_move), "DeepSeek": Move(deepseek_move)})

        # Display agent moves and thoughts for the turn
        st.write(f"**DeepSeek's Move:** {deepseek_move}")
        st.write(f"**DeepSeek's Thought:** {deepseek_thought}")

    # Print final game summary
    print("\nFinal Game Summary:")
    print(game_state.get_summary())

    # Final game summary
    st.subheader("Final Game Summary")
    st.json(game_state.get_summary())