本文来源电子发烧友社区,作者:刘建华, 帖子地址:https://bbs.elecfans.com/jishu_2309301_1_1.html
在上一篇的基础之上,增加蛇头转向的功能。
1、按键检测函数,在检测到A按键时,按键标志+1.按键B检测到后按键-1.同时增加越界判断。有按键改变时,更新显示标志。代码如下:
def get_key():
global state,move_state
key_value1 = tqs1.key_get_status(2)
if key_value1 == 0:
move_state = move_state +1
if move_state > 3:
move_state = 0
print("KeyB changed,move_state:" + str(move_state))
state = True
key_value2 = tqs1.key_get_status(1)
if key_value2 == 0:
move_state = move_state -1
if move_state < 0:
move_state = 3
print("KeyA changed,move_state:" + str(move_state))
state = True
2、行走函数。判断行走方向move_state标志,按标志进行xy轴的增加、减少。
def move():
global move_state,myItem,disp_List
#先把同最前一个灭了
fisrt = disp_List[0]
myItem[fisrt[0]][fisrt[1]]=0
if move_state == 0: #向右运动
tail = disp_List[-1]
print(tail)
x=tail[0]
y=tail[1]+1
if(y>6):
y=0
disp_List.append([x,y])
elif move_state == 1:#向下运动
tail = disp_List[-1]
print(tail)
x=tail[0]+1
y=tail[1]
if(x>5):
x=0
disp_List.append([x,y])
elif move_state == 2:#向左运动
tail = disp_List[-1]
print(tail)
x=tail[0]
y=tail[1]-1
if(y<0):
y=6
disp_List.append([x,y])
elif move_state == 3:#向上运动
tail = disp_List[-1]
print(tail)
x=tail[0]-1
y=tail[1]
if(x<0):
x=5
disp_List.append([x,y])
del disp_List[0]
for item in disp_List:
myItem[item[0]][item[1]]=1
3、主函数。为了更快的响应按键与运动,加入了move_time这个标志,如果有按键的事件,就实时更新,如果没有就每500毫秒更新一次,当然这个标志,也可以在后面作为运行速度来进行调节。
while True:
get_key()
if state == True:
move()
disp_tq()
os.sleep(0.1)
else:
time_state = time_state + 1
if time_state == 5:
move()
disp_tq()
time_state = 0
os.sleep(0.1)
经过这一步就可以实现四个方向行走了。
【贪吃蛇3视频演示】详见作者原贴子文章内容。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
开发板试用
+关注
关注
3文章
300浏览量
1997
发布评论请先 登录
相关推荐
米尔基于NXP iMX.93开发板的M33处理器应用开发笔记
1.概述本文主要介绍M33核的两种工程调试开发,第一种方式是通过板子自带的固件进行开发,第二种方式是使用IAREmbeddedWorkben
点击参与米尔NXP i.MX 93开发板有奖试用
米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X开发板发起试用活动您不仅可以免费体
先楫HPM5361EVK开发板,网友测评效果(二)
上海先楫半导体举办的HPM5361EVK开发板试用活动圆满结束,广大工程师和爱好者们踊跃参与此次试用并提交报告。经过先楫半导体专家组评选,一共产生6名优秀获奖者。感谢媒体平台电子工程世界(简称
基于FPGA的贪吃蛇游戏设计
食物产生模块完成的任务是:每次初始化就给定一个食物坐标比如(24,10),然后蛇运动的过程中用蛇头坐标跟食物坐标对比是否重合来判断是否吃掉了食物,如果相同食物就被吃掉,然后由随机数产生新的食物坐标。
明德扬PCIE开发板系列XILINX-K7试用体验-第二篇
本文为明德扬原创文章,转载请注明出处!作者:Vito 明德扬PCIE开发板系列XILINX-K7试用体验-第二篇 第二周的试用计划是实现常见
【ELF 1开发板试用】+ 1.开箱+前话
前话
很荣幸参与到本次由飞凌嵌入式和电子发烧友联合举办“ELF 1开发板”的试用活动;
ELF 1这款开发板作为学习板卡提供了详细的
发表于 11-21 20:56
【ELF 1开发板试用】1.开箱验货
。
打开纸盒子,引入眼帘的是 ELF1 开发板,一张纪念卡,一份开箱必读说明书。ELF1 开发板的标准配件包里有:一字螺丝刀、尼龙柱、Type-C转接线、10P杜邦线和网线。
就拿 T
发表于 11-21 14:20
【ELF 1开发板试用】+ 1.开箱+前话
前话
很荣幸参与到本次由飞凌嵌入式和电子发烧友联合举办“ELF 1开发板”的试用活动;
ELF 1这款开发板作为学习板卡提供了详细的
发表于 11-20 16:23
【LuckFox Pico Plus开发板免费试用】+开发板上手
LuckFox Pico的试用机会,这款开发板相当于是RV1103的小型评估板,引出了所有的IO口,并且带以太网/USB/摄像头等高速接口。下面一起来看一下。
评论