这个C++的贪吃蛇的程序怎么实现暂停和变速啊,在线等
代码放不下,到这个地址看一下,麻烦大大了http://hi.baidu.com/lianxiadegk/item/6444d33a6ea35e392e20c4d2...
代码放不下,到这个地址看一下,麻烦大大了
http://hi.baidu.com/lianxiadegk/item/6444d33a6ea35e392e20c4d2 展开
http://hi.baidu.com/lianxiadegk/item/6444d33a6ea35e392e20c4d2 展开
展开全部
键盘输入在get_direction()函数 中,增加对速度的控制键,比如‘+’,‘-’,暂停sapce,增加控制代码:
void get_direction()
{
direction_before=direction;//记住蛇上一个状态的运动方向
while(kbhit()!=0) //调试
direction=getch();
改为:
void get_direction()
{
direction_before=direction;//记住蛇上一个状态的运动方向
char key;
while(kbhit()!=0) //调试
key =getch();
if(key=='a'||key=='w'||key=='s'||key=='d')
direction= key;
else if(key==' ')
{
while(getch()!=' ')
{
}
}
else if(key=='+')
delay+=10;//延迟改变步长,可以为其他值
else if(key=='-')
delay-=10;//延迟改变步长,可以为其他值
//.....................................................
没有测试,思路应该这样
追问
测试了一下,可以是可以暂停和改变速度了
可是出现了2个问题:
1、按空格暂停后,再按空格动了一下又停止了,要同时按空格+任意一个键 才能在运行,能改为只按一颗键就能在运行吗?
2、减速正常,但有时候只按一下加速后,程序会自动不断加速,直至卡死,这是什么问题?
大大,谢谢你的帮助T T
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询