关于贪吃蛇游戏的
最近教别人写个小游戏,突然发现似乎有点困难记得这里有很多贪吃蛇游戏,所以来问问
控制蛇走假设为'W'
那么getchar 可以获取到 W 但是 getchar 是同步函数,是会让程序等待的,这个时候游戏画面就无法移动了,不知道大家是怎么解决这个问题的,觉得异步输入似乎是个好的解决办法?
因为是教别人C语言 所以要求使用C语言中的内容,因为课本中没有多线程 所以使用单线程,要求使用控制台
#include <stdio.h> #include <windows.h> #include <conio.h> int main() { char way = 'd'; while(1) {// while(!kbhit())//检测是否按下了键 按下了不进入循环 每按下进入循环输出当前方向 { switch(way) { case 'w': printf("w\n"); break; case 'a': printf("a\n"); break; case 's': printf("s\n"); break; case 'd': printf("d\n"); break; } Sleep(150);//间隔150毫秒 } way = getch();//按下了键 那么way就会改变 } }