私は C++ でボード ゲーム (ストラテゴ) を作成していますが、switch ステートメントでどのケースをユーザーに表示するかを決定するために、クラス メソッドから整数を返すのは不適切な方法であると考えられるかどうか疑問に思っていました。
例: ストラテゴでは、自分の軍の一部であるボード ピースを攻撃できないため、ユーザーが攻撃しようとすると「自分の軍を攻撃することはできません」というメッセージが表示されます。
プレイヤーがボードから飛び降りたり、スペースを移動しすぎたりするような動きが行われた場合も同様です。
これらの無効な動きにはそれぞれ固有のメッセージがありますが、プレイヤーの動きが検証される Class.cpp ファイルから出力されないようにするために、Class.cpp ファイルで main( ) から呼び出されました。メッセージが呼び出される方法を処理するための最も推奨される方法は何ですか?
class Test
{
public:
Test()
{
}
int Validate_Move(int valid)
{
if (valid > 0 && valid < 5)
{
return 1;
}
else if (valid > 5)
{
return 2;
}
}
};
int main()
{
int entry;
std::cout << "Enter move: ";
std::cin >> entry;
Test obj;
switch (obj.Validate_Move(entry))
{
case 1:
std::cout << "Move is valid" << std::endl;
case 2:
std::cout << "Move is invalid" << std::endl;
default:
std::cout << "Error occured" << std::endl;
}
return 0;
}