本文來源電子發(fā)燒友社區(qū),作者:劉建華, 帖子地址:https://bbs.elecfans.com/jishu_2309301_1_1.html
在上一篇的基礎之上,增加蛇頭轉(zhuǎn)向的功能。
1、按鍵檢測函數(shù),在檢測到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、行走函數(shù)。判斷行走方向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、主函數(shù)。為了更快的響應按鍵與運動,加入了move_time這個標志,如果有按鍵的事件,就實時更新,如果沒有就每500毫秒更新一次,當然這個標志,也可以在后面作為運行速度來進行調(diào)節(jié)。
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)
經(jīng)過這一步就可以實現(xiàn)四個方向行走了。
【貪吃蛇3視頻演示】詳見作者原貼子文章內(nèi)容。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
開發(fā)板試用
+關注
關注
3文章
303瀏覽量
2750
發(fā)布評論請先 登錄
相關推薦
熱點推薦
探索Eval - M1 - CM610N3評估板:電機驅(qū)動應用的理想之選
探索Eval - M1 - CM610N3評估板:電機驅(qū)動應用的理想之選 在電機驅(qū)動應用的設計領域,擁有一款性能出色且易于評估的開發(fā)板至關重要。今天,我們就來詳細探討一下英飛凌(Infineon
【作品合集】視美泰M-K1HSE、3568開發(fā)板測評
:
M-K1HSE開發(fā)板免費試用
SC-3568HA開發(fā)板免費試用
GM-3568JHF開發(fā)板免
發(fā)表于 09-22 10:32
基于RK3576處理器,米爾RK3576開發(fā)板免費試用
年7月19日 ? 評測數(shù)量: 3塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費
搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費試用
: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費
基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗
數(shù)量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費
性能強悍!合眾HZ-RK3568開發(fā)板試用體驗
月19日 ? 評測數(shù)量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費
有獎丨米爾 NXP i.MX91開發(fā)板免費試用來啦
米爾與NXP合作發(fā)布的新品基于NXPi.MX91應用處理器的MYD-LMX91開發(fā)板免費試用名額來啦~~米爾提供了3套價值588元的MYD-LMX91開發(fā)板發(fā)起試用活動您不僅可以免費體
【新品體驗】正點原子STM32MP257開發(fā)板免費試用
試用產(chǎn)品概述ATK-DLMP257B開發(fā)板是正點原子基于STM32MP257DAK3處理器研發(fā)的一款高性能嵌入式開發(fā)平臺,適用于嵌入式系統(tǒng)開發(fā)。該開
讓人欲罷不能樹莓派貪吃蛇掌機!
經(jīng)典游戲《貪吃蛇》的掌機,并為其設計了定制的3D打印外殼。這款掌機基于配備RP2350處理器的最新型號RaspberryPiPico2打造。與常規(guī)LCD或OLED
免費丨米爾 STM32MP257開發(fā)板有獎試用
米爾與ST合作發(fā)布的新品基于STM32MP257應用處理器的MYD-LD25X開發(fā)板免費試用活動來啦~~米爾提供了2塊價值488元的MYD-LD25X開發(fā)板發(fā)起試用活動您不僅可以免費
有獎丨米爾 瑞芯微YR3562開發(fā)板免費試用
米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應用處理器的MYD-YR3562開發(fā)板免費試用活動來啦~~米爾提供了3塊價值599元的MYD-YR3562開發(fā)板發(fā)起試用活動您不僅可以免
【天啟教育M1開發(fā)板試用體驗】貪吃蛇之二
評論