diff --git a/Chinczyk188/Board.cpp b/Chinczyk188/Board.cpp index 2737d16..a80cda3 100644 --- a/Chinczyk188/Board.cpp +++ b/Chinczyk188/Board.cpp @@ -154,8 +154,8 @@ void Board::render() { void Board::updateAndRender() { - this->render(); this->update(); + this->render(); } diff --git a/Chinczyk188/Engine.cpp b/Chinczyk188/Engine.cpp index 0894d2c..15d8c7e 100644 --- a/Chinczyk188/Engine.cpp +++ b/Chinczyk188/Engine.cpp @@ -76,6 +76,12 @@ void Engine::nextTurn() { << "> "; while (true) { + + // Czyścimy bufor, aby zignorować cokolwiek, co pojawiło się po znaku + // białym a przed \n - aby np. żaden z użytkowników nie mógł + // napisać "a a" i potencjalnie zadecydować o ruchu oponenta. + std::cin.ignore(std::numeric_limits::max(), '\n'); + std::cin >> choice; choice |= 32; diff --git a/Chinczyk188/Game.cpp b/Chinczyk188/Game.cpp index 424af4b..d7ad670 100644 --- a/Chinczyk188/Game.cpp +++ b/Chinczyk188/Game.cpp @@ -238,6 +238,10 @@ void Game::run() { std::cout << "Wpisz nazwe gracza " << (i + 1) << " (" << colorNames[i] << "): "; std::cin >> name; + // Zignoruj zawartość bufora do \n, aby zapobiec nadpisywaniu ziarna + // poprzez podanie nazwy ze znakami białymi. + std::cin.ignore(std::numeric_limits::max(), '\n'); + #ifndef CHINCZYK188_IGNORE_USER_SEED // Jeżeli nie została zdefiniowana flaga do ignorowania ziarna użytkownika // (deterministyczne losowanie), to pozwól na wprowadzanie ziaren. @@ -251,8 +255,10 @@ void Game::run() { engine.addPlayer(name, seed, color); board.updateAndRender(); - //this->update(); - //this->render(); + + // Podobnie, jak wyżej + std::cin.ignore(std::numeric_limits::max(), '\n'); + } // Przekaż ev i window, aby obsługiwać zdarzenia