#include "dice.h" #include "player.h" #include using namespace std; player::player(int id) : id(id), head(false), body(false), hat(false), eyes(false), mouth(false), legs(0) {} ostream & operator<<(ostream & os, const player & e) { os << "{id: " << e.id << ", body: " << e.body << ", head: " << e.head << ", hat: " << e.hat << ", eyes: " << e.eyes << ", mouth: " << e.mouth << ", legs: " << e.legs << "}"; return os; } void player::turn() { bool turn_finished = false; while(not turn_finished) { int cur_roll = roll(); turn_finished = true; if(cur_roll == 1) { if(not body) { turn_finished = false; body = true; } } else if(body and cur_roll == 2) { if(not head) { turn_finished = false; head = true; } } else if(body and head) { if (cur_roll == 3) { turn_finished = false; hat = true; } else if (cur_roll == 4) { turn_finished = false; eyes = true; } else if (cur_roll == 5) { turn_finished = false; mouth = true; } else if (cur_roll == 6) { if (not (legs >= 6)) { turn_finished = false; legs++; } } } } } bool player::won() { if(head and body and hat and eyes and mouth and legs == 6) return true; else return false; }