Чтобы сделать игру пошаговой, я рекомендую массив объектов с методами, которые представляют способности игрока в игре.Вы можете иметь игровой цикл, вложенный цикл раунда, вложенный цикл поворота и логическое значение, которое выходит из циклов раунда и поворота, когда игрок выигрывает.
С вашим текущим псевдокодом вы можете использовать переключатель и целое числов методе Update, чтобы приравнять эти вложенные циклы.
Пример Tic Tac Toe AI:
#include "Shared.h"
#include "Board.h"
#ifndef AI_H_
#define AI_H_
class AI{
public:
AI();
enum difficulty{Easy, Medium, Hard};
void setAlgorithm(difficulty h);
void applyAlgorithm(Board* b, int columns, int rows);
private:
Board::spot type;
difficulty harder;
void easy(Board* b, int columns, int rows);
void medium(Board* b, int columns, int rows);
void hard(Board* b, int columns, int rows);
};
#endif /*AI_H_*/
SDL_WaitEvent () смехотворно более эффективен, чем SDL_PollEvent (), если вы не хотитеперегружать процессор.
while(!quit){
if(SDL_WaitEvent(&event)){
if(event.type == SDL_QUIT){
quit = true;
}else if(event.type == SDL_MOUSEBUTTONDOWN){
if(!menu.isClicked()){
if(menu.handleEvent(&event)){
}
}
}
}
}