贪吃蛇的自动移动问题

昨天用链表写了个贪吃蛇
函数A是让判断蛇移动后的结果
只有结果正常,才返回1

函数B是收到一个命令让蛇移动的

现在问题来了:我蛇链表头节点保存了,蛇的移动方向,长度。

现在我只能是按一个键蛇动一下
我加了个while循环,判断
可是循环太快了 没有检测到按键就执行往蛇头方向前进了

所以我的蛇现在只能按一下动一下
希望给个建议

while里加个sleep呀
你不加sleep超人也反应不过来呀
此外,sleep会阻塞主线程,所以要响应键盘你可能还要另想办法
-=-=-
还有一个方案就是把移动的代码写进timer里
从工具箱拖个timer出来,然后在timer的事件里写代码