Skip to content
Snippets Groups Projects
Commit 7bbf54c1 authored by Bariatti Francesco's avatar Bariatti Francesco
Browse files

Created trivial functions

parent fd02d8dd
No related branches found
No related tags found
No related merge requests found
...@@ -26,47 +26,39 @@ namespace game ...@@ -26,47 +26,39 @@ namespace game
bool penguin::end_of_game() const bool penguin::end_of_game() const
{ {
return false; return state.nb_moves_red == 0 && state.nb_moves_blue == 0;
//return state.first_player_win || state.second_player_win || state.total_moves == 9;
} }
bool penguin::won(std::uint8_t player) const bool penguin::won(std::uint8_t player) const
{ {
return false; if (player == RED) return state.score_red > state.score_blue;
//if (player == CROSS) return state.first_player_win; return state.score_blue > state.score_red;
//return state.second_player_win;
} }
bool penguin::lost(std::uint8_t player) const bool penguin::lost(std::uint8_t player) const
{ {
return false; if(player == RED) return state.score_red < state.score_blue;
/*if (player == CIRCLE) return state.first_player_win; return state.score_blue < state.score_red;
return state.second_player_win;*/
} }
bool penguin::draw(std::uint8_t player) const bool penguin::draw(std::uint8_t player) const
{ {
return false; return state.score_blue == state.score_red;
/*if (state.first_player_win || state.second_player_win) return false;
return state.total_moves == 9;*/
} }
uint8_t penguin::current_player() const uint8_t penguin::current_player() const
{ {
return 0; return state.current_player_red ? RED : BLUE;
/*return state.total_moves & 1 ? CIRCLE : CROSS; // CROSS even, CIRCLE odd*/
} }
int penguin::value(uint8_t player) const int penguin::value(uint8_t player) const
{ {
/*if (player == CROSS) { if (won(player))
return state.first_player_win ? 1 : (state.second_player_win ? -1 : 0); return 1;
} else if (lost(player))
else if (player == CIRCLE) { return -1;
return state.second_player_win ? 1 : (state.first_player_win ? -1 : 0); else
} return 0;
return 0;*/
return 0;
} }
/* Number of moves that you can play */ /* Number of moves that you can play */
...@@ -98,8 +90,7 @@ namespace game ...@@ -98,8 +90,7 @@ namespace game
string penguin::player_to_string(uint8_t player) const string penguin::player_to_string(uint8_t player) const
{ {
//return player == CROSS ? "X" : (player == CIRCLE ? "O" : " "); return player == RED ? "Red" : "Blue";
return "TODO";
} }
......
...@@ -25,13 +25,13 @@ namespace game ...@@ -25,13 +25,13 @@ namespace game
uint32_t p3_blue = 58; uint32_t p3_blue = 58;
uint32_t p4_blue = 59; uint32_t p4_blue = 59;
bool red_player_win = false;
bool blue_player_win = false;
int score_red = 0; int score_red = 0;
int score_blue = 0; int score_blue = 0;
bool current_player_red = true; //True if red must play now bool current_player_red = true; //True if red must play now
int nb_moves_red = 0; //Number of moves the red player can play
int nb_moves_blue = 0;
}; };
class penguin : public game<penguin_state> class penguin : public game<penguin_state>
...@@ -63,6 +63,9 @@ namespace game ...@@ -63,6 +63,9 @@ namespace game
private: private:
penguin_state state; penguin_state state;
uint8_t RED = 0;
uint8_t BLUE = 1;
}; };
std::ostream& operator<<(std::ostream& os, const penguin& pen); std::ostream& operator<<(std::ostream& os, const penguin& pen);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment