gpt4 book ai didi

c++ - 开关或其他东西

转载 作者:太空狗 更新时间:2023-10-29 23:19:23 26 4
gpt4 key购买 nike

我正在制作一些关于 Janitors 的游戏应用程序。它处于早期阶段,到目前为止我对此感到自豪,但是随着时间的推移我的代码变得非常困惑,所以我决定过来寻求任何帮助以另一种方式解决/重制/实现这段代码而无需这么多情况。我正在考虑实现一些设计模式,但我不确定是哪一个。感谢您的帮助。

bool JanitorApp::key(unsigned char key)
{
if (MainApp::key(key)) return true;

switch(key) {
case 'Q': case 'q':
current[0] = NULL;
status[0] = "Stationary";
return true;
case 'W': case 'w':
current[0] = &cleans[0];
status[0] = "Cleaning";
return true;
case 'E': case 'e':
current[0] = &eats[0];
status[0] = "Eating";
return true;
case 'R': case 'r':
current[0] = &guards[0];
status[0] = "Guarding";
return true;

case 'A': case 'a':
current[1] = NULL;
status[1] = "Stationary";
return true;
case 'S': case 's':
current[1] = &cleans[1];
status[1] = "Cleaning";
return true;
case 'D': case 'd':
current[1] = &eats[1];
status[1] = "Eating";
return true;
case 'F': case 'f':
current[1] = &guards[1];
status[1] = "Guarding";
return true;

case 'Z': case 'z':
current[2] = NULL;
status[2] = "Stationary";
return true;
case 'X': case 'x':
current[2] = &cleans[2];
status[2] = "Cleaning";
return true;
case 'C': case 'c':
current[2] = &eats[2];
status[2] = "Eating";
return true;
case 'V': case 'v':
current[2] = &guards[2];
status[2] = "Guarding";
return true;
}

return false;}

最佳答案

您可以从查看命令模式开始。 Replace Conditional With Polymorphism 重构可能也很有趣。

关于c++ - 开关或其他东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145813/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com