#include "WagnisPlayer.h" #include #include namespace orxonox { RegisterClass(WagnisPlayer); //Constructor WagnisPlayer::WagnisPlayer(Context* context,WagnisGameboard* gb) : Baseclass(context){ RegisterObject(WagnisPlayer); this->origin = nullptr; this->target = nullptr; this->gameBoard = gb; } //Destructor WagnisPlayer::~WagnisPlayer(){ } //Manages a Players turn void WagnisPlayer::playerTurn(){ } //checks if a move is valid, possible MoveTypes: ATTACK, MOVE, SET_TROOPS, SET_TROOPS_INITIAL bool WagnisPlayer::checkMove(WagnisProvince*,WagnisProvince*,MoveType) { if (MoveType == ATTACK) { if (isNeighbour(this->origin, this->target))//TODO: provinces neighbours { if (this->origin->getOwner_ID() == this->Player_ID) //origin belongs to player { if (this->target->getOwner_ID() != this->Player_ID)//target belongs to enemy return true; } } } if (MoveType == MOVE) { if (existPath(this->origin, this->target))//TODO: path exists, all belong to same player { if (this->origin->getOwner_ID() == this->Player_ID)//origin belongs to player return true; } } if (MoveType == SET_Troops) { if (this->target->getOwner_ID() == this->Player_ID)//target belongs to player return true; } if (MoveType == SET_TROOPS_INITIAL) { if (this->target->getOwner_ID() == 0)//target belongs to nobody return true; } return false; } //TODO bool WagnisPlayer::isNeighbour(WagnisProvince*,WagnisProvince*) { for () return false; } //TODO bool WagnisPlayer::existPath(WagnisProvince*,WagnisProvince*) { return false; } // void WagnisPlayer::setTroops(WagnisProvince*){ } void WagnisPlayer::attack(WagnisProvince*,WagnisProvince*){ } void WagnisPlayer::moveTroops(WagnisProvince*,WagnisProvince*){ } //Return a "Player x" String std::string WagnisPlayer::toString(){ std::string str = "Player "; str.append(std::to_string(Player_ID); return str; } }