地下城爬行游戏,移动机械问题 我是C++初学者,我正在编写一个名为DunGeNo爬.CPP.< /P>的程序。

地下城爬行游戏,移动机械问题 我是C++初学者,我正在编写一个名为DunGeNo爬.CPP.< /P>的程序。,c++,switch-statement,C++,Switch Statement,因此,对于程序的第一部分(地图生成和随机位置),到目前为止还不错,但是对于运动力学,我发现了一个问题。 是的,到目前为止,我只添加了left和right,但程序似乎只识别switch语句中的第二种情况,例如,当我按下“d”时,播放器向右移动,但当我按下“a”时,什么也不会发生,如果我改变情况的顺序,则相反的情况会发生。 我很确定我可以使用if语句使它工作,但我很好奇。 谢谢你的帮助 #包括 #包括 #包括 使用名称空间std; //地下城爬行 //制作一个程序,将一个简单的基于网格的游戏板输出到

因此,对于程序的第一部分(地图生成和随机位置),到目前为止还不错,但是对于运动力学,我发现了一个问题。 是的,到目前为止,我只添加了left和right,但程序似乎只识别switch语句中的第二种情况,例如,当我按下“d”时,播放器向右移动,但当我按下“a”时,什么也不会发生,如果我改变情况的顺序,则相反的情况会发生。 我很确定我可以使用if语句使它工作,但我很好奇。 谢谢你的帮助

#包括
#包括
#包括
使用名称空间std;
//地下城爬行
//制作一个程序,将一个简单的基于网格的游戏板输出到屏幕上
//使用数字或字符。
//允许用户(示例中用G标记)向上、向下、向左移动,
//或者每转一圈右转。
//如果玩家踩到陷阱,他们就输了。如果他们能到达
//珍惜“X”,他们就会赢。
int i;
char表[76];
班级游戏{
公众:
void board(){//游戏板
srand(时间(0));

对于(i=0;i您没有足够的break语句,您拥有的break在for循环内,并从中中断

试试这个:

case 'a':

for (i=0;i<=76;i++){
if (table [i]=='G') {
table [i]='.';
table [i-2]='G';break;}
  }
break;

case 'd':

for (i=0;i<=76;i++){
if (table [i]=='G') {
table [i]='.';
table [i+2]='G';break;}
} 
break;
案例“a”:

对于(i=0;我开始学习函数-对于初学者..非常感谢,我不知道我需要最后一个break语句!!对于这个愚蠢的问题,我感到抱歉。