贪吃蛇之食物(苹果)产生模块设计
贪吃蛇之食物(苹果)产生模块设计
1. 设计目标
初始化后,产生食物坐标(24,10),然后判断蛇头的坐标与食物的坐标是否相同,若相同,代表食物被吃掉,然后用随机数产生新的食物坐标。
2. 区域划分
游戏的基本单位block还是用16*16像素,屏幕四周用1个block宽度的边框代表墙,食物用一个block表示大小,蛇头也是1个block大小。
3. 代码设计
(1) 分数累加
if(apple-x == head_x && apple_y == head_y)
add_cube <= add_cube + 1;
当食物坐标与蛇头坐标相等时,即表示食物被吃掉。
(2) 产生新的食物坐标
always@(posedge clk)
random_num <= random_num + 999;
用加法电路产生随机数。random_num的高六位作为apple_x,低5位作为apple_y。通过判断坐标值,确定是在有效区域,还是已经撞墙,再指定新的值。
参考:
https://mp.weixin.qq.com/s/EVDtWSQH-SD69iSWyeTQoA