问题描述
我做了一个非常简单的开关,如果我按下一个字符,它的整数加一并打印一条消息,它与“cin>>”和“getchar()”一起工作得很好,但是当我添加 getch 时,它仍然打印消息但它停止更新整数“我怎么知道”?因为我创建了一个整数必须达到的随机值,它在 1 到 20 之间,并且使用 getch 它只是在到达该值时继续运行而不会自行停止
'''
void Journ(char const *bypassto = "x")
{
int m = 4;
int VAL[m];
for (int j=0; j<m; j++)
{
VAL[j] = rand()%20 + 1;
}
char comm;
int W;
int A;
int S;
int D;
char journkey;
if (bypassto != "x" ) {
journkey = *bypassto;
} else {
cout << "Choose a direction: \n";
cout <<"[FOWARD]-[LEFT]-[RIGHT]-[BACKWARDS]\n";
cout << "w for foward - a for left - d for right - s for backwards \n";
}
while (comm!=4)
{
// cin >> comm;
comm = getch();
switch(comm)
{
case 'w':
{
cout << "You went foward. \n";
W++;
break;
}
case 'a':
{
cout << "You went left. \n";
A++;
break;
}
case 's':
{
cout << "You went backwards. \n";
S++;
break;
}
case 'd':
{
cout << "You went right. \n";
D++;
break;
}
}
if(W == VAL[0])
{
BattleIntro();
break;
}
else if(A == VAL[1])
{
BattleIntro();
break;
}
else if(S == VAL[2])
{
BattleIntro();
break;
}
else if(D == VAL[3])
{
BattleIntro();
break;
}
}
}
'''
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)