我正在用 C++ 创建一个棋盘游戏(stratego),并且想知道从类方法返回一个整数以确定要向用户显示的 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;
}