这是节目。
void main( )
{
int h, v;
h = 1; v = 10;
while ( !kbhit( ) || h <= 80 )
{
gotoxy( h, v );
printf( "<--->" );
delay( 200 );
clrscr( );
h = h + 1;
}
getch( );
}我正在用C语言编写一个程序,在这个程序中,我使用kbhit()运行一个循环,直到按下一个键。因此,在这里,箭头"<--->"将继续向前移动,直到按下一个键或到达屏幕的最后一个像素。
我想要的是,每次按'd'时,程序应该增加h 1,每次按下'a'时,程序就会减少1次。即h++;和h--;,并运行另一个循环,直到按下一个字符。这个想法更像蛇游戏,在游戏中,蛇一直沿着一个特定的方向移动,直到按下一个键。救命啊!
发布于 2014-03-08 14:30:10
clrscr()应该出现在gotoxy和printf之前。
无论如何,我要做的是创建一个状态变量,仅仅是为了指示蛇应该走的方向,也就是说,当用户按'a‘或'd’时存储的东西。
我不会离开循环,只使用if(kbhit)并得到char。
int direction = 1; char control;
while (1)
{
if(kbhit()){
control = getch();
switch (control){
case 'a': direction = -1; break;
case 'd': direction = +1; break;
default: break;
}
}
clrscr( );
gotoxy( h, v );
printf( "<--->" );
delay( 200 );
h = h + direction;
}https://stackoverflow.com/questions/22270310
复制相似问题