本文來(lái)源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2308793_1_1.html
前言
過(guò)程
復(fù)制代碼
前言
開(kāi)發(fā)板具備Python運(yùn)行環(huán)境,這對(duì)于一些輕量開(kāi)發(fā)可以直接在開(kāi)發(fā)板上進(jìn)行腳本開(kāi)發(fā),這就十分方便。python --version可以看到版本是2.7.16。
[root@EASY-EAI-NANO:/]# python --version
Python 2.7.16
過(guò)程
直接SSH或者串口登錄,
導(dǎo)入2048.py或者
直接vi編輯
- # -*- coding:UTF-8 -*-
- #!/usr/bin/python2
- import random
- import os, sys
- v = [[0, 0, 0, 0],
- [0, 0, 0, 0],
- [0, 0, 0, 0],
- [0, 0, 0, 0]]
- def display(v, score):
- print ("%4d %4d %4d %4d" % (v[0][0], v[0][1], v[0][2], v[0][3]))
- print ("%4d %4d %4d %4d" % (v[1][0], v[1][1], v[1][2], v[1][3]))
- print ("%4d %4d %4d %4d" % (v[2][0], v[2][1], v[2][2], v[2][3]))
- print ("%4d %4d %4d %4d" % (v[3][0], v[3][1], v[3][2], v[3][3]))
- print ("Total score: %d" % score)
- def init(v):
- for i in range(4):
- v[i] = [random.choice([0, 0, 0, 2, 2, 4]) for x in range(4)]
- def align(vList, direction):
- for i in range(vList.count(0)):
- vList.remove(0)
- zeros = [0 for x in range(4 - len(vList))]
- if direction == 'left':
- vList.extend(zeros)
- else:
- vList[:0] = zeros
- def addSame(vList, direction):
- score = 0
- if direction == 'left':
- for i in [0, 1, 2]:
- align(vList, direction)
- if vList[i] == vList[i+1] != 0:
- vList[i] *= 2
- vList[i+1] = 0
- score += vList[i]
- return {'bool':True, 'score':score}
- else:
- for i in [3, 2, 1]:
- align(vList, direction)
- if vList[i] == vList[i-1] != 0:
- vList[i] *= 2
- vList[i-1] = 0
- score += vList[i]
- return {'bool':True, 'score':score}
- return {'bool':False, 'score':score}
- def handle(vList, direction):
- totalScore = 0
- align(vList, direction)
- result = addSame(vList, direction)
- while result['bool'] == True:
- totalScore += result['score']
- align(vList, direction)
- result = addSame(vList, direction)
- return totalScore
- def operation(v):
- totalScore = 0
- gameOver = False
- direction = 'left'
- op = raw_input ('operator:')
- if op in ['a','A']:
- direction = 'left'
- for row in range(4):
- totalScore += handle(v[row], direction)
- elif op in ['d','D']:
- direction = 'right'
- for row in range(4):
- totalScore += handle(v[row], direction)
- elif op in ['w', 'W']:
- direction = 'left'
- for col in range(4):
- vList = [v[row][col] for row in range(4)]
- totalScore += handle(vList, direction)
- for row in range(4):
- v[row][col] = vList[row]
- elif op in ['s', 'S']:
- direction = 'right'
- for col in range(4):
- vList = [v[row][col] for row in range(4)]
- totalScore += handle(vList, direction)
- for row in range(4):
- v[row][col] = vList[row]
- else:
- print ("Invalid raw_input ,please enter a charactor in [W,S,A,D] or the lower")
- gameOver = True
- return {'gameOver':gameOver,'score':totalScore}
- N = 0
- for q in v:
- N += q.count(0)
- if N == 0:
- gameOver = True
- return {'gameover':gameOver,'score':totalScore}
- num = random.choice([2,2,2,4])
- k = random.randrange(1, N+1)
- n = 0
- for i in range(4):
- for j in range(4):
- if v[i][j] == 0:
- n += 1
- if n == k:
- v[i][j] = num
- break
- return {'gameOver':gameOver, 'score':totalScore}
- init(v)
- score = 0
- print ("raw_input :W(Up) S(Down) A(Left) D(Right), press.")
- while True:
- os.system("clear")
- display(v, score)
- result = operation(v)
- print (result)
- if result['gameOver'] == True:
- print ("Game Over, You failed!")
- print ("Your total score %d" % (score))
- sys.exit(1)
- else:
- score += result['score']
- if score >= 2048:
- print ("Game Over, You Win!!!")
- print ("Your total score: %d" % (score))
- sys.exit(0)
添加可執(zhí)行權(quán)限
chmod +x 2048.py
運(yùn)行
總結(jié)
python 2048.py
分別用wsad控制上下左右移動(dòng)

開(kāi)發(fā)板提供了Python環(huán)境,直接開(kāi)發(fā)板上進(jìn)行Python開(kāi)發(fā)十分便捷,這對(duì)一些輕量開(kāi)發(fā)場(chǎng)景時(shí)非常方便。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
6021瀏覽量
110452 -
EASY-EAI靈眸科技
+關(guān)注
關(guān)注
2文章
25瀏覽量
3383
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
熱點(diǎn)推薦
【免費(fèi)試用】EASY EAI Nano-TB(RV1126B)開(kāi)發(fā)套件評(píng)測(cè)
EASY-EAI-Nano-TB是靈眸科技研發(fā)的一款應(yīng)用于AIoT領(lǐng)域的AIOT主板。核心板基于瑞芯微的RV1126B處理器設(shè)計(jì),并引入了新一代完全基于硬件的最大12M像素ISP(圖像信號(hào)處理器

【作品合集】靈眸科技EASY EAI Orin Nano(RK3576)開(kāi)發(fā)板測(cè)評(píng)
板免費(fèi)試用
作者:華仔stm32【EASY EAI Orin Nano(RK3576)開(kāi)發(fā)板試用
發(fā)表于 09-09 09:59
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】PP-OCRV5文字識(shí)別實(shí)例搭建與移植
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】PP-OCRV5文字識(shí)別實(shí)例搭建與移植
PP-OCRV5是PP-OCR新一代文字識(shí)別
發(fā)表于 08-18 16:57
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】使用stream推流代碼和WEB服務(wù)器代碼實(shí)現(xiàn)在客戶端網(wǎng)頁(yè)上查看攝像頭圖像
本帖最后由 donatello1996 于 2025-8-13 20:32 編輯
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)
發(fā)表于 08-11 23:15
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】基于RKLLM大模型的聊天機(jī)器人
計(jì)劃在EASY EAI Orin Nano開(kāi)發(fā)板部署QWEN大模型,然后通過(guò)部署flask服務(wù)將其web化,成為一個(gè)web聊天對(duì)話機(jī)器人,最后再對(duì)接語(yǔ)音識(shí)別模塊,最終實(shí)現(xiàn)一個(gè)語(yǔ)音聊天機(jī)
發(fā)表于 08-07 16:52
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】EASY-EAI-Toolkit人臉識(shí)別
、編譯與測(cè)試
1.組件人臉識(shí)別代碼如下
2.開(kāi)發(fā)板掛載服務(wù)器,編譯
掛載上服務(wù)器后,切換到EASY-EAI-Toolkit-3576/Demos/algorithm-face_detect/路徑下
發(fā)表于 07-20 14:40
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】人臉識(shí)別提升
【前言】【新提醒】【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】人臉識(shí)別體驗(yàn) - EASY
發(fā)表于 07-05 15:21
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】EASY-EAI-Toolkit通用組件體驗(yàn)
、環(huán)境準(zhǔn)備
閱讀EASY EAI Orin Nano開(kāi)發(fā)板說(shuō)明書,板子預(yù)留了UART4、UART8和UART10三個(gè)串口。
UART8靠上面
發(fā)表于 07-04 23:38
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】EASY-EAI-Toolkit初體驗(yàn)
本次EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)主要是超級(jí)想體驗(yàn)靈眸的EASY-EAI-T
發(fā)表于 06-28 21:21
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】開(kāi)箱和固件燒錄更新體驗(yàn)
首先感謝靈眸科技和發(fā)燒友組織的開(kāi)發(fā)板大賽!
一、硬件介紹
靈眸科技EASY EAI Orin-Nano基于瑞芯微的RK3576處理器設(shè)計(jì),集成了4個(gè)Cortex-A72和4個(gè)Corte
發(fā)表于 06-26 23:41
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】人臉識(shí)別體驗(yàn)
| 10.92 MiB/s, 完成.
處理 delta 中: 100% (77/77), 完成.
2、adb登錄開(kāi)發(fā)板,并加載nfs
developer@EASY-EAI-Develop:~/nfsroot
發(fā)表于 06-26 06:54
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】--開(kāi)發(fā)板開(kāi)箱了解
感謝靈眸科技與論壇提供的開(kāi)發(fā)板與平臺(tái)。EASY EAI Orin-Nano開(kāi)發(fā)板實(shí)物如下:
EASY
發(fā)表于 06-25 23:32
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】01-開(kāi)箱報(bào)告及開(kāi)發(fā)環(huán)境準(zhǔn)備
前言
首先要特別感謝發(fā)燒友論壇和廣州靈眸科技給我們提供的本次EASY EAI Orin Nano開(kāi)發(fā)板試用機(jī)會(huì), 在申請(qǐng)通過(guò)后很快就收到順豐
發(fā)表于 06-24 19:04
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】安裝nfs服務(wù)器
/developer/nfsroot *
developer@EASY-EAI-Develop:~$
測(cè)試:
使用typec連上開(kāi)發(fā)板后,執(zhí)行adb shell登錄開(kāi)發(fā)板。
在Desktop中創(chuàng)建nfs 然后
發(fā)表于 06-22 17:32
【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】開(kāi)發(fā)環(huán)境準(zhǔn)備
【前言】
首先感謝電子發(fā)燒友論壇以及靈眸科技給示了我這次非常難得的【EASY EAI Orin Nano開(kāi)發(fā)板試用體驗(yàn)】的機(jī)會(huì),在進(jìn)行評(píng)測(cè)之
發(fā)表于 06-22 16:42
評(píng)論