私は学校のためにチックタックトーゲームを開発していますが、キーボードからの演奏を読むのは難しいです。実用的で素敵な方法。キーボードから完全なランダムなテキスト、フィルター、キャストを読む方法
これは私がやったことです:
Human::play() const
{
int pos
std::cout << endl << Name << ", please, insert the desirable move:";
//^^this is a class atribute
std::string keyboard;
std::stringstream ss;
std::getline(std::cin, keyboard);
ss << keyboard[0];
ss >> pos;
return (pos);
}//end of Human class method *play*
この関数が呼び出されます、私は選手の動きが受け入れられた場合には、このように、確認してくださいそれは0と8の間にあるかどうかを確認します。また、"r"または"q"というエントリがあるかどうかを確認したいのです。プレイヤーが1ターン前に戻ったり、ゲームを終了したりすることを意味します。プレイヤーは、この指示を入力したかどうかを確認するために
は、私がこれすなわち行います
int playermove = player1.play()
if (playermove == 'q')
...
を私は文字が入力されたときPOSがは0が返され、理由は上記に示したものからトラブルを抱えています。しかし、実用的な解決策はありません。
私に代替案を教えてください。