void Game::pauze(sf::Event &ev) { win.waitEvent(ev); if (ev.type == sf::Event::KeyReleased) return; else pauze(ev); }
void Game::game() { Field field(width, height, bombs, debug); field.setTexture("Tileset.png"); field.setTextureTileSize(64); field.setDrawTileSize(64); field.setWindow(&win); rescaleGame(field); cout << "\n\n\nGame started, good luck!\n\n"; field.create(); // check if field takes up more space than your current resolution while (state == GAME) { sf::Event ev; while (win.pollEvent(ev)) { if (ev.type == sf::Event::KeyPressed) { switch (ev.key.code) { case sf::Keyboard::Escape: state = CLOSING; break; case sf::Keyboard::H: field.giveHint(); break; default: break; } } field.update(ev); } if (field.isLost()) { cout << "You lost the game!\nPress any key to return to main menu.\n\n\n"; state = MAINMENU; field.setAllRevealState(true); field.updateAllVertex(true); } if (field.isWon()) { cout << "Congratulations, You won!\nPress any key to return to main menu.\n\n\n"; state = MAINMENU; field.setAllRevealState(true); field.updateAllVertex(true); } win.clear(sf::Color::White); field.draw(); win.display(); if (field.isLost() || field.isWon()) { pauze(ev); } } state = MAINMENU; return; }
void MainWindow::step() { if ((source.sourceMode == MOVIE) && (!ui->positionSlider->isSliderDown())) { setSliderPosition(source.getPos()); } // if we can't grab, reset to test screen if (!source.grab()) { startScreen(); return; } switch (viewMode) { case FINDER: finder.step(source.frame); whatWeSee = finder.combined; break; case CAPTURE: if (!capture.step(source.frame)) { if (source.sourceMode == MOVIE) { pauze(); } else { startScreen(); sourceView(); }; }; whatWeSee = capture.combined; break; default: whatWeSee = source.frame; break; }; if (recording) { if (recMode == OUTPUT) { recorder.putFrame(whatWeSee); } else { recorder.putFrame(source.frame); }; }; ui->CVWindow->update(); };