void Controller::Moderator::sendPiecePlaced ( Utils::Location const & inLocation, Model::PlacedPiece const & inPiece ) { emit piecePlaced( inLocation, inPiece ); }
bool Moderator::playerMove(bool isPlayer1,int input){ bool retVal = true; QPair<int,QPair<int,int> > playerOutput = currentGame.playMove(input); if(playerOutput.first==-1){ if(isPlayer1){ if(player1->isManual) { console("INVALID"); writeLineToTerminal("INVALID"); return false; } console("Player 1 placed a piece in an invalid location. ("+QString().setNum(input)+")"); player2Wins(true); } else{ if(player2->isManual) { console("INVALID"); writeLineToTerminal("INVALID"); return false; } console("Player 2 placed a piece in an invalid location. ("+QString().setNum(input)+")"); player1Wins(true); } return false; } emit(piecePlaced(playerOutput.second.first,playerOutput.second.second)); if(playerOutput.first==-2){ tieGame(); retVal = false; } if(playerOutput.first==0){ if(isPlayer1){ if(commandLine) writeLineToTerminal("PLAYER1MOVE"+QString().setNum(playerOutput.second.first)+QString().setNum(playerOutput.second.second)); player1Wins(false); } else{ if(commandLine) writeLineToTerminal("PLAYER2MOVE"+QString().setNum(playerOutput.second.first)+QString().setNum(playerOutput.second.second)); player2Wins(false); } retVal = false; } return retVal; }
void Controller::RobotPlayer::sendPiecePlaced() { piecePlaced( mPiecePlacement ); mPiecePlacement = boost::none; }