void Tron::showWinner() { update(); emit gameEnds(); emit pauseBlocked(true); }
void GameWidget::clear() { for(int k = 1; k <= universeSize; k++) { for(int j = 1; j <= universeSize; j++) { universe[k*universeSize + j] = false; } } gameEnds(true); update(); }
void GameWidget::newGeneration() { if(generations < 0) generations++; int notChanged=0; for(int k=1; k <= universeSize; k++) { for(int j=1; j <= universeSize; j++) { next[k*universeSize + j] = isAlive(k, j); if(next[k*universeSize + j] == universe[k*universeSize + j]) notChanged++; } } if(notChanged == universeSize*universeSize) { QMessageBox::information(this, tr("Game lost sense"), tr("The End. Now game finished because all the next generations will be the same."), QMessageBox::Ok); stopGame(); gameEnds(true); return; } for(int k=1; k <= universeSize; k++) { for(int j=1; j <= universeSize; j++) { universe[k*universeSize + j] = next[k*universeSize + j]; } } update(); generations--; if(generations == 0) { stopGame(); gameEnds(true); QMessageBox::information(this, tr("Game finished."), tr("Iterations finished."), QMessageBox::Ok, QMessageBox::Cancel); } }