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
bool penguin::end_of_game() const
{
return false;
//return state.first_player_win || state.second_player_win || state.total_moves == 9;
return state.nb_moves_red == 0 && state.nb_moves_blue == 0;
}
bool penguin::won(std::uint8_t player) const
{
return false;
//if (player == CROSS) return state.first_player_win;
//return state.second_player_win;
if (player == RED) return state.score_red > state.score_blue;
return state.score_blue > state.score_red;
}
bool penguin::lost(std::uint8_t player) const
{
return false;
/*if (player == CIRCLE) return state.first_player_win;
return state.second_player_win;*/
if(player == RED) return state.score_red < state.score_blue;
return state.score_blue < state.score_red;
}
bool penguin::draw(std::uint8_t player) const
{
return false;
/*if (state.first_player_win || state.second_player_win) return false;
return state.total_moves == 9;*/
return state.score_blue == state.score_red;
}
uint8_t penguin::current_player() const
{
return 0;
/*return state.total_moves & 1 ? CIRCLE : CROSS; // CROSS even, CIRCLE odd*/
return state.current_player_red ? RED : BLUE;
}
int penguin::value(uint8_t player) const
{
/*if (player == CROSS) {
return state.first_player_win ? 1 : (state.second_player_win ? -1 : 0);
}
else if (player == CIRCLE) {
return state.second_player_win ? 1 : (state.first_player_win ? -1 : 0);
}
return 0;*/
return 0;
if (won(player))
return 1;
else if (lost(player))
return -1;
else
return 0;
}
/* Number of moves that you can play */
......@@ -98,8 +90,7 @@ namespace game
string penguin::player_to_string(uint8_t player) const
{
//return player == CROSS ? "X" : (player == CIRCLE ? "O" : " ");
return "TODO";
return player == RED ? "Red" : "Blue";
}
......
......@@ -25,13 +25,13 @@ namespace game
uint32_t p3_blue = 58;
uint32_t p4_blue = 59;
bool red_player_win = false;
bool blue_player_win = false;
int score_red = 0;
int score_blue = 0;
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>
......@@ -63,6 +63,9 @@ namespace game
private:
penguin_state state;
uint8_t RED = 0;
uint8_t BLUE = 1;
};
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