如何解决switch case 和 getch() 不能一起工作
我做了一个非常简单的开关,如果我按下一个字符,它的整数加一并打印一条消息,它与“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 举报,一经查实,本站将立刻删除。