我做了一个简单的游戏程序,要求玩家有一个选项来撤消一些移动(撤消 n)。
我让用户输入一个命令(撤消 n),它将后半部分放入一个 int 中。基本上,我希望程序在用户输入除数字以外的任何内容时停止用户。因此,如果用户输入 undo f 它不会将 f 转换为它的数字形式(或者至少我认为它会这样做)但它会导致错误。我搜索了一段时间,找不到任何对我有用或有意义的东西。
try {
int undo;
istringstream is(userInput.substr(5, userInput.length()));
is >> undo;
for (int numOfUndos = undo; numOfUndos > 0; numOfUndos--) {
board.UndoLastMove();
}
moveValidated = true;
}
catch (exception &e) {
cout << "/-----------------------------/" << endl;
cout << e.what() << endl;
cout << "/-----------------------------/" << endl;
}
如果可能的话,我只想使用我目前拥有的方式或使用 cin。另外,请原谅我,但我仍在学习 C++ 并且不知道许多高级技术,所以如果有一种复杂的方法可以做到这一点,如果我需要一点理解,请原谅我。
感谢您提前提供任何帮助。