利用51单片机+hc595芯片配合在led点阵上玩贪吃蛇 第二篇“自动运行函数”
贪吃蛇是自己不断朝着前运动的,所以需要封装一个令贪吃蛇自己朝前运动的函数
自动运行函数满足条件:
- 1.控制贪吃蛇不断运动
- 2.运动方向发生改变时,蛇头运动方向立马发生改变,蛇身其他led灯运动方向仍保持,待运动到蛇头未改变时的位置,方可改变运动方向
- 3.改变运动方向后,贪吃蛇朝此方向向前
虽然看上去十分混乱,一头雾水。
1.但我们先拆分出蛇头的坐标方位进行分析,起初我们自定义的蛇身长度为length(初始化点亮了三盏灯,length为3),贪吃蛇中led灯坐标都在x[32],y[32]数组里,那么蛇头的坐标对应着就是x[length-1],y[length-1].
2.我们假设蛇头要向左移动一位,起初蛇头位置为(2,3),移动后就是(1,3),x-1,y-0;
以此类推,向右就是x+1,y;向上就是x,y+1;向下就是x,y-1;
3.将改变的数值用flag_x,flag_y表示,那么例如蛇头向左一位则就是
flag_x=1, flag_y=0,
x[[length-1]&