本文整理汇总了C++中GameScene::playerWins方法的典型用法代码示例。如果您正苦于以下问题:C++ GameScene::playerWins方法的具体用法?C++ GameScene::playerWins怎么用?C++ GameScene::playerWins使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameScene
的用法示例。
在下文中一共展示了GameScene::playerWins方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: move
void GameView::move()
{
GameScene * gameScene = (GameScene*)this->scene();
int player = game->getPlayerToMoveNext();
if (gameSetup->isCpu[player]) {
columnIndex = cpuPlayers[player].getCpuMove(*game);
}
MoveResult res = game->move(columnIndex);
QString message;
switch (res) {
case MoveResult::SUCCESS:
gameScene->addToken(player, columnIndex, game->getLatestTokenRow());
gameSetup->moveHistory.append(QString::number(columnIndex));
gameScene->setupNextToken(columnIndex);
++gameSetup->moves;
printNextPlayer();
break;
case MoveResult::WIN:
gameScene->toggleSound(false);
gameScene->addToken(player, columnIndex, game->getLatestTokenRow());
gameScene->toggleSound(true);
gameSetup->moveHistory.append(QString::number(columnIndex));
gameSetup->startPlayer=player;
gameSetup->finished=1;
++gameSetup->moves;
mainWindow->setStatusMessage( (game->getPlayerToMoveNext()==0 ? gameSetup->player0 : gameSetup->player1)
+ "wins with "
+ QString::number(gameSetup->moves+1)
+ " moves!"
);
gameScene->playerWins( player, game->getWinRow() );
mainWindow->saveGame();
break;
case MoveResult::TIE:
gameScene->toggleSound(false);
gameScene->addToken(player, columnIndex, game->getLatestTokenRow());
gameSetup->moveHistory.append(QString::number(columnIndex));
gameSetup->finished=2;
++gameSetup->moves;
gameScene->tie();
mainWindow->saveGame();
qDebug() << "tie";
mainWindow->setStatusMessage("Game finished with a tie!");
break;
case MoveResult::INVALID_COLUMN:
gameScene->failToken(player, columnIndex, game->getLatestTokenRow());
break;
case MoveResult::FULL_COLUMN:
gameScene->failToken(player, columnIndex, game->getLatestTokenRow());
mainWindow->setStatusMessage( "Column is full, try another one "
+ (game->getPlayerToMoveNext()==0 ? gameSetup->player0 : gameSetup->player1)
+ "!"
);
break;
}
// if game isnt finished and next player is cpu, begin next turn immediately
if (!game->isFinished() && gameSetup->isCpu[game->getPlayerToMoveNext()]) {
move();
}
}