Чтобы сделать игру пошаговой, я рекомендую массив объектов с методами, которые представляют возможности игрока в игре. У вас может быть игровой цикл, вложенный круглый цикл, вложенный цикл поворота и логическое значение, которое выходит из цикла и поворачивает петли, когда игрок выигрывает.
С вашим текущим псевдокодом вы можете использовать переключатель и целое число в методе 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)){
}
}
}
}
}
Да, но как именно я не могу вернуться, пока пользователь не введет что-то приемлемое? Это сам вопрос. Также я хотел бы добавить, что это «пошаговая» игра, и она требует, чтобы вы сначала показали игроку изображение, а затем попросили их ввести их. :) – Lemmons 2010-12-17 05:54:55