Ejemplo n.º 1
0
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;
}
Ejemplo n.º 3
0
void
Controller::RobotPlayer::sendPiecePlaced()
{
	piecePlaced( mPiecePlacement );
	mPiecePlacement = boost::none;
}