diff --git a/src/game/morpion.cpp b/src/game/morpion.cpp
index 738afac3455aa2be8ea29a4b17ed059ba24e56eb..6c70c1607458b907f8dc957728e5f6f63dca8fe7 100644
--- a/src/game/morpion.cpp
+++ b/src/game/morpion.cpp
@@ -50,20 +50,20 @@ namespace game
 
 	bool morpion::won(std::uint8_t player) const
 	{
-		//TODO: Implement
-		return false;
+		if (player == CROSS) return state.first_player_win;
+		return state.second_player_win;
 	}
 	
 	bool morpion::lost(std::uint8_t player) const
 	{
-		//TODO: Implement
-		return false;
+		if (player == CIRCLE) return state.first_player_win;
+		return state.second_player_win;
 	}
 
 	bool morpion::draw(std::uint8_t player) const
 	{
-		//TODO: Implement
-		return false;
+		if (state.first_player_win || state.second_player_win) return false;
+		return state.total_moves == 9;
 	}
 
 	uint8_t morpion::current_player() const