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

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

3天内不再提示

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

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-17 11:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:刘建华, 帖子地址:https://bbs.elecfans.com/jishu_2309223_1_1.html


目的LED阵列实现一个贪吃蛇的游戏
设计思路
1、用两个按键来按制两个方向,方向标志为全局变量move_state。当按键A、B按下时,改变LED灯陈列的过行方向。
2、蛇体用LED灯条来展示。LED按随机产生的方向进行运动。
3、随机产生食物。如果食物在蛇体之上,再生成一次。
4、成功吃到蛇体时,LED灯条增长一个单位。
5、如果蛇体到了屏外,则游戏结束。
显示模块
1、创建二维数据,用于控制显示的缓存:myItem =[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]]
2、刷新显示函数:

def disp_tq():
  global state,myItem
  state = False
  mystr =[]
  for j in range(0,6):
    strit = ''.join(str(i) for i in myItem[j])
    mystr.append(strit)
  print(mystr)
  value = ','.join(mystr)
  tqmain.matri_strfill_display(value)

LED灯带行走
1、创建一个显示LED的列表disp_List = [[0,0],[0,1],[0,2]]。
2、行走实现,第一步先获取最后一个LED灯的坐标即disp_list[0],将他熜灭。
3、获取最前面的一个LED灯坐标即disp_list[-1],根据方向,进行x或y坐标增减,然后再将新的坐标append到dsip_list里面。
4、将最后面的坐标从列表中去除即del disp_list[0]

这期只是实现固定LED灯的行走,LED灯从左上角向右行走,到头后从第二行开头继续行走。
整体程序如下:

import os
import tqs1
import tqmain
#value= '1000000,1000000,1000000,1000000,1000000,1000000'
#mylist =[0x08,0x08,0x08,0x08,0x08,0x08]
myItem =[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]]
#tqmain.serial_write_line("start")
state = True
disp_List = [[0,0],[0,1],[0,2]]

move_state = 0
def disp_tq():
  global state,myItem
  state = False
  mystr =[]
  for j in range(0,6):
    strit = ''.join(str(i) for i in myItem[j])
    mystr.append(strit)
  print(mystr)
  value = ','.join(mystr)
  tqmain.matri_strfill_display(value)
  
def get_key():
  global state
  key_value1 = tqs1.key_get_status(2)
  if key_value1 == 0:
    print("KeyB changed")
    state = True
  key_value2 = tqs1.key_get_status(1)
  if key_value2 == 0:
    print("KeyA changed")
    state = True
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
      x = x+1
      if x>5:
        x=0
    disp_List.append([x,y])
  del disp_List[0]
  for item in disp_List:
    myItem[item[0]][item[1]]=1
while True:
  get_key()
  move()
  disp_tq()
  os.sleep(0.5)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板试用
    +关注

    关注

    3

    文章

    303

    浏览量

    2649
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【作品合集】视美泰M-K1HSE、3568开发板测评

    视美泰M-K1HSE、3568开发板测评作品合集 产品介绍: M-KIHSE开发板M-KIHSE开发
    发表于 09-22 10:32

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

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3506应用处理器的MYD-YR3506开发板免费试用名额来啦~~米尔提供了3块价值299元的MYD-YR3506开发板发起试用活动您不仅可以免
    的头像 发表于 06-19 08:04 877次阅读
    有奖丨米尔 瑞芯微RK3506<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    有奖丨米尔 瑞芯微RK3562开发板免费试用新增名额!

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3562应用处理器的MYD-YR3562开发板免费试用名额增加
    的头像 发表于 06-13 08:04 880次阅读
    有奖丨米尔 瑞芯微RK3562<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>新增名额!

    基于RK3576处理器,米尔RK3576开发板免费试用

    年7月19日   评测数量: 3块   更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费
    的头像 发表于 06-09 15:00 958次阅读
    基于RK3576处理器,米尔RK3576<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    搭载OpenHarmony操作系统,视美泰SC-3568HA开发板免费试用

    : 10块   更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费
    的头像 发表于 06-05 16:45 1035次阅读
    搭载OpenHarmony操作系统,视美泰SC-3568HA<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    基于RK处理器,创龙TL3562-MiniEVM开发板试用体验

    数量: 10块   更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费
    的头像 发表于 06-05 16:31 947次阅读
    基于RK处理器,创龙TL3562-MiniEVM<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>体验

    性能强悍!合众HZ-RK3568开发板试用体验

    月19日   评测数量: 10块   更多热点文章阅读 基于平头哥TH1520芯片,润开鸿HH-SCDAYU800A开发板免费试用 RISC-V开发板深度评测!顶级开发板免费
    的头像 发表于 06-05 16:30 1138次阅读
    性能强悍!合众HZ-RK3568<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>体验

    有奖丨米尔 NXP i.MX91开发板免费试用来啦

    米尔与NXP合作发布的新品基于NXPi.MX91应用处理器的MYD-LMX91开发板免费试用名额来啦~~米尔提供了3套价值588元的MYD-LMX91开发板发起试用活动您不仅可以免费体
    的头像 发表于 06-05 08:02 1133次阅读
    有奖丨米尔 NXP i.MX91<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>来啦

    【评测试用】合众HZ-T536开发板免费试用体验

    【评测试用】合众HZ-T536开发板免费试用体验
    的头像 发表于 05-27 08:05 719次阅读
    【评测<b class='flag-5'>试用</b>】合众HZ-T536<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>体验

    RA-Eco-RA4M2开发板免费试用啦 #开发板试用

    开发板
    ElecFans小喇叭
    发布于 :2025年04月02日 16:56:25

    让人欲罢不能树莓派贪吃蛇掌机!

    经典游戏《贪吃蛇》的掌机,并为其设计了定制的3D打印外壳。这款掌机基于配备RP2350处理器的最新型号RaspberryPiPico2打造。与常规LCD或OLED
    的头像 发表于 03-25 09:21 548次阅读
    让人欲罢不能树莓派<b class='flag-5'>贪吃蛇</b>掌机!

    免费丨米尔 STM32MP257开发板有奖试用

    米尔与ST合作发布的新品基于STM32MP257应用处理器的MYD-LD25X开发板免费试用活动来啦~~米尔提供了2块价值488元的MYD-LD25X开发板发起试用活动您不仅可以免费
    的头像 发表于 03-20 08:05 909次阅读
    免费丨米尔 STM32MP257<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

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

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3562应用处理器的MYD-YR3562开发板免费试用活动来啦~~米尔提供了3块价值599元的MYD-YR3562开发板发起试用活动您不仅可以免
    的头像 发表于 03-20 08:05 828次阅读
    有奖丨米尔 瑞芯微YR3562<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>

    有奖试用!!RA-Eco-RA4M2-100PIN-V1.0开发板试用活动报名

    RA-Eco-RA4M2-100PIN-V1.0开发板试用活动
    的头像 发表于 03-13 12:10 872次阅读
    有奖<b class='flag-5'>试用</b>!!RA-Eco-RA4<b class='flag-5'>M</b>2-100PIN-V1.0<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>活动报名

    有奖丨米尔 全志T536开发板免费试用

    米尔与全志合作发布的新品基于全志T536应用处理器的MYD-LT536-GK开发板免费试用活动来啦~~米尔提供了3块价值750元的MYD-LT536-GK开发板发起试用活动您不仅可以免
    的头像 发表于 12-26 08:05 1346次阅读
    有奖丨米尔 全志T536<b class='flag-5'>开发板</b>免费<b class='flag-5'>试用</b>