0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【天启教育M1开发板试用体验】贪吃蛇之二

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-17 11:06 次阅读

本文来源电子发烧友社区,作者:刘建华, 帖子地址: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

    文章

    301

    浏览量

    2038
收藏 人收藏

    评论

    相关推荐

    【RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux

    【RA8D1试用活动】RA8D1B-CPKCOR开发板移植linux
    的头像 发表于 11-16 01:02 111次阅读
    【RA8D<b class='flag-5'>1</b><b class='flag-5'>试用</b>活动】RA8D<b class='flag-5'>1</b>B-CPKCOR<b class='flag-5'>开发板</b>移植linux

    正点原子fpga开发板不同型号

    正点原子作为国内领先的FPGA开发板供应商,其产品线覆盖了从入门级到高端应用的各个领域。这些开发板不仅适用于学术研究,还广泛应用于工业控制、通信、图像处理等多个领域。 1. 入门级开发板
    的头像 发表于 11-13 09:30 273次阅读

    有奖丨米尔 瑞芯微RK3576开发板免费试用

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动来啦~~米尔提供了7块价值849元的MYD-LR3576开发板发起试用活动您不仅可以免
    的头像 发表于 11-12 01:00 153次阅读
    有奖丨米尔 瑞芯微RK3576<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    有奖试用!!RA-Eco-RA4E2-64PIN-V1.0开发板试用活动开始报名

    有奖试用!!RA-Eco-RA4E2-64PIN-V1.0开发板试用活动开始报名
    的头像 发表于 11-09 01:02 118次阅读
    有奖<b class='flag-5'>试用</b>!!RA-Eco-RA4E2-64PIN-V1.0<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>活动开始报名

    米尔基于NXP iMX.93开发板M33处理器应用开发笔记

    1.概述本文主要介绍M33核的两种工程调试开发,第一种方式是通过板子自带的固件进行开发,第种方式是使用IAREmbeddedWorkben
    的头像 发表于 06-29 08:01 1234次阅读
    米尔基于NXP iMX.93<b class='flag-5'>开发板</b>的<b class='flag-5'>M</b>33处理器应用<b class='flag-5'>开发</b>笔记

    点击参与米尔NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X开发板发起试用活动您不仅可以免费体
    的头像 发表于 06-13 08:02 463次阅读
    点击参与米尔NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    免费!NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了2块价值678
    的头像 发表于 05-23 08:01 669次阅读
    免费!NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    安信可星闪开发板or模组烧录指导

    包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。 来看看星闪开发板or模组如何烧录? 一、软硬
    的头像 发表于 05-06 17:31 833次阅读
    安信可星闪<b class='flag-5'>开发板</b>or模组烧录指导

    先楫HPM5361EVK开发板,网友测评效果(

    上海先楫半导体举办的HPM5361EVK开发板试用活动圆满结束,广大工程师和爱好者们踊跃参与此次试用并提交报告。经过先楫半导体专家组评选,一共产生6名优秀获奖者。感谢媒体平台电子工程世界(简称
    的头像 发表于 03-12 08:16 1788次阅读
    先楫HPM5361EVK<b class='flag-5'>开发板</b>,网友测评效果(<b class='flag-5'>二</b>)

    基于51单片机的贪吃蛇游戏设计

    电子发烧友网站提供《基于51单片机的贪吃蛇游戏设计.rar》资料免费下载
    发表于 01-12 10:00 0次下载

    基于51单片机的贪吃蛇设计

    电子发烧友网站提供《基于51单片机的贪吃蛇设计.rar》资料免费下载
    发表于 01-12 09:53 13次下载

    基于51单片机的贪吃蛇设计

    电子发烧友网站提供《基于51单片机的贪吃蛇设计.rar》资料免费下载
    发表于 01-03 10:26 0次下载

    基于51单片机的贪吃蛇游戏设计

    基于51单片机的贪吃蛇游戏设计(仿真+实物)
    发表于 01-02 09:38 2次下载

    基于FPGA的贪吃蛇游戏设计

    食物产生模块完成的任务是:每次初始化就给定一个食物坐标比如(24,10),然后运动的过程中用蛇头坐标跟食物坐标对比是否重合来判断是否吃掉了食物,如果相同食物就被吃掉,然后由随机数产生新的食物坐标。
    的头像 发表于 12-18 16:14 1130次阅读
    基于FPGA的<b class='flag-5'>贪吃蛇</b>游戏设计

    明德扬PCIE开发板系列XILINX-K7试用体验-第

    本文为明德扬原创文章,转载请注明出处!作者:Vito 明德扬PCIE开发板系列XILINX-K7试用体验-第篇 第周的试用计划是实现常见
    的头像 发表于 11-29 15:39 3217次阅读
    明德扬PCIE<b class='flag-5'>开发板</b>系列XILINX-K7<b class='flag-5'>试用</b>体验-第<b class='flag-5'>二</b>篇