一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【天啟教育M1開發(fā)板試用體驗(yàn)】貪吃蛇3

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-17 11:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:劉建華, 帖子地址:https://bbs.elecfans.com/jishu_2310612_1_1.html


前面生成了運(yùn)動、生成食物的算法。這次增加吃食物的算法:
1、創(chuàng)建生成食物的標(biāo)志build_food_state,在主程序中判斷,如果標(biāo)志需要創(chuàng)建食物,則生成。如果食物還存在,就不生成食物。
2、吃到食物的判斷:如果生成下一個(gè)食物的坐標(biāo)數(shù)組與食物的坐標(biāo)數(shù)組相等,則不消除最后尾的塊,同時(shí)更新生成食物的標(biāo)志為真。如果沒有吃到食物,則消除尾部塊。

# 如果加入的方塊等于食物,則不刪去尾塊
  if disp_List[-1] == disp_food:
    buid_food_state = 1
  else:
    del disp_List[0]

整體程序如下:

import os
import tqs1
import tqmain
import tqmath
#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]]
disp_food = []
time_state = 0
move_state = 0
buid_food_state = 1

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)
  state = False
  
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
def move():
  global move_state,myItem,disp_List,disp_food,buid_food_state
  #先把同最前一個(gè)滅了
  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])
  # 如果加入的方塊等于食物,則不刪去尾塊
  if disp_List[-1] == disp_food:
    buid_food_state = 1
  else:
    del disp_List[0]

  for item in disp_List:
    myItem[item[0]][item[1]]=1
  if len(disp_food) == 2:
    myItem[disp_food[0]][disp_food[1]] = 1
# 隨機(jī)生成 坐標(biāo) 食物
def build_food():
  global disp_List,disp_food,buid_food_state
  disp_food=[]
  disp_food.append(tqmath.random(0, 5))
  disp_food.append(tqmath.random(0, 6))
  if disp_food in disp_List:
    print(disp_food)
  buid_food_state = 0
while True:
  get_key()
  if state == True:
    move()
    if buid_food_state == 1:
      build_food()
    disp_tq()
    os.sleep(0.1)
  else:
    time_state = time_state + 1
    if time_state == 5:
      move()
      if buid_food_state == 1:
        build_food()
      disp_tq()
      time_state = 0
    os.sleep(0.1)

效果見視頻。

【貪吃蛇4視頻演示】詳見作者原貼文章

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5683

    瀏覽量

    104882
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    有獎丨米爾 瑞芯微RK3506開發(fā)板免費(fèi)試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3506應(yīng)用處理器的MYD-YR3506開發(fā)板免費(fèi)試用名額來啦~~米爾提供了3塊價(jià)值299元的MYD-YR3506開發(fā)板發(fā)起
    的頭像 發(fā)表于 06-19 08:04 ?391次閱讀
    有獎丨米爾 瑞芯微RK3506<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    基于RK3576處理器,米爾RK3576開發(fā)板免費(fèi)試用

    年7月19日 ? 評測數(shù)量: 3塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評測!頂級
    的頭像 發(fā)表于 06-09 15:00 ?513次閱讀
    基于RK3576處理器,米爾RK3576<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費(fèi)試用

    : 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費(fèi)
    的頭像 發(fā)表于 06-05 16:45 ?534次閱讀
    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗(yàn)

    數(shù)量: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費(fèi)
    的頭像 發(fā)表于 06-05 16:31 ?453次閱讀
    基于RK處理器,創(chuàng)龍TL3562-MiniEVM<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗(yàn)

    性能強(qiáng)悍!合眾HZ-RK3568開發(fā)板試用體驗(yàn)

    月19日 ? 評測數(shù)量: 10塊 ? 更多熱點(diǎn)文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費(fèi)試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費(fèi)
    的頭像 發(fā)表于 06-05 16:30 ?542次閱讀
    性能強(qiáng)悍!合眾HZ-RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗(yàn)

    有獎丨米爾 NXP i.MX91開發(fā)板免費(fèi)試用來啦

    米爾與NXP合作發(fā)布的新品基于NXPi.MX91應(yīng)用處理器的MYD-LMX91開發(fā)板免費(fèi)試用名額來啦~~米爾提供了3套價(jià)值588元的MYD-LMX91開發(fā)板發(fā)起
    的頭像 發(fā)表于 06-05 08:02 ?660次閱讀
    有獎丨米爾 NXP i.MX91<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>來啦

    【評測試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)

    【評測試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)
    的頭像 發(fā)表于 05-27 08:05 ?234次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>體驗(yàn)

    RA-Eco-RA4M2開發(fā)板免費(fèi)試用啦 #開發(fā)板試用

    開發(fā)板
    ElecFans小喇叭
    發(fā)布于 :2025年04月02日 16:56:25

    讓人欲罷不能樹莓派貪吃蛇掌機(jī)!

    經(jīng)典游戲《貪吃蛇》的掌機(jī),并為其設(shè)計(jì)了定制的3D打印外殼。這款掌機(jī)基于配備RP2350處理器的最新型號RaspberryPiPico2打造。與常規(guī)LCD或OLED
    的頭像 發(fā)表于 03-25 09:21 ?281次閱讀
    讓人欲罷不能樹莓派<b class='flag-5'>貪吃蛇</b>掌機(jī)!

    免費(fèi)丨米爾 STM32MP257開發(fā)板有獎試用

    米爾與ST合作發(fā)布的新品基于STM32MP257應(yīng)用處理器的MYD-LD25X開發(fā)板免費(fèi)試用活動來啦~~米爾提供了2塊價(jià)值488元的MYD-LD25X開發(fā)板發(fā)起試用活動您不僅可以免費(fèi)
    的頭像 發(fā)表于 03-20 08:05 ?491次閱讀
    免費(fèi)丨米爾 STM32MP257<b class='flag-5'>開發(fā)板</b>有獎<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微YR3562開發(fā)板免費(fèi)試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應(yīng)用處理器的MYD-YR3562開發(fā)板免費(fèi)試用活動來啦~~米爾提供了3塊價(jià)值599元的MYD-YR3562開發(fā)板發(fā)起
    的頭像 發(fā)表于 03-20 08:05 ?524次閱讀
    有獎丨米爾 瑞芯微YR3562<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    有獎試用!!RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動報(bào)名

    RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動
    的頭像 發(fā)表于 03-13 12:10 ?513次閱讀
    有獎<b class='flag-5'>試用</b>!!RA-Eco-RA4<b class='flag-5'>M</b>2-100PIN-V1.0<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>活動報(bào)名

    有獎丨米爾 全志T536開發(fā)板免費(fèi)試用

    米爾與全志合作發(fā)布的新品基于全志T536應(yīng)用處理器的MYD-LT536-GK開發(fā)板免費(fèi)試用活動來啦~~米爾提供了3塊價(jià)值750元的MYD-LT536-GK開發(fā)板發(fā)起
    的頭像 發(fā)表于 12-26 08:05 ?899次閱讀
    有獎丨米爾 全志T536<b class='flag-5'>開發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>

    追加名額丨米爾瑞芯微RK3576開發(fā)板有獎試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動加碼啦~~米爾追加了2塊價(jià)值849元的MYD-LR3576開發(fā)板發(fā)起試用活動您不僅可以
    的頭像 發(fā)表于 11-22 01:00 ?639次閱讀
    追加名額丨米爾瑞芯微RK3576<b class='flag-5'>開發(fā)板</b>有獎<b class='flag-5'>試用</b>

    【RA8D1試用活動】RA8D1B-CPKCOR開發(fā)板移植linux

    【RA8D1試用活動】RA8D1B-CPKCOR開發(fā)板移植linux
    的頭像 發(fā)表于 11-16 01:02 ?947次閱讀
    【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'>開發(fā)板</b>移植linux