本文來源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2308793_1_1.html
前言
過程
復制代碼
前言
開發(fā)板具備Python運行環(huán)境,這對于一些輕量開發(fā)可以直接在開發(fā)板上進行腳本開發(fā),這就十分方便。python --version可以看到版本是2.7.16。
[root@EASY-EAI-NANO:/]# python --version
Python 2.7.16
過程
直接SSH或者串口登錄,
導入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
運行
總結(jié)
python 2048.py
分別用wsad控制上下左右移動
開發(fā)板提供了Python環(huán)境,直接開發(fā)板上進行Python開發(fā)十分便捷,這對一些輕量開發(fā)場景時非常方便。
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5121瀏覽量
98036 -
靈眸
+關(guān)注
關(guān)注
0文章
19瀏覽量
3217
發(fā)布評論請先 登錄
相關(guān)推薦
NVIDIA發(fā)布小巧高性價比的Jetson Orin Nano Super開發(fā)者套件
NVIDIA近期推出了一款全新的生成式AI超級計算機——Jetson Orin Nano Super開發(fā)者套件。這款開發(fā)者套件以其小巧的尺寸
FPGA打磚塊小游戲設(shè)計思路
HDL,?Vivado 平臺上開發(fā)打磚塊小游戲并使用 PS2 與 VGA 的基本思路: 一、整體架構(gòu)設(shè)計 1. 輸入模塊: ? PS2 接口模塊:負責與 PS2 設(shè)備(如游戲手柄)進行通信,接收手柄
【星閃派物聯(lián)網(wǎng)開發(fā)套件體驗連載】+環(huán)境監(jiān)測
如下圖所示:
WS63控制板如下圖所示:
套件和WS63E控制板如下圖所示:
各個模塊都是常見的模塊,在此不一一介紹了。
開發(fā)環(huán)境搭建
開發(fā)
發(fā)表于 10-09 22:27
【星閃派物聯(lián)網(wǎng)開發(fā)套件體驗連載】智能交通燈
感謝電子發(fā)燒友,感謝潤和軟件,提供星閃派物聯(lián)網(wǎng)開發(fā)套件試用。
本次試用計劃:
用星閃派物聯(lián)網(wǎng)開發(fā)套件,先實現(xiàn)本地交通燈項目,接入WiFi連上云端,本地紅綠燈狀態(tài)上傳云端,云端顯示,云端
發(fā)表于 10-05 13:00
【xG24 Matter開發(fā)套件試用體驗】開發(fā)環(huán)境搭建和開發(fā)流程體驗
EFR32xG24 Explorer Kit 開發(fā)套件的主芯片是EFR32MG24 無線 SoC,支持Zigbee,BLE,專有2.4G等多種協(xié)議。
datasheet和EFR32xG24
發(fā)表于 07-19 23:22
【xG24 Matter開發(fā)套件試用體驗】1-基本情況介紹
參加[Silicon Labs xG24 Matter開發(fā)套件免費試用]活動,拿到了期待的EFR32xG24 Explorer 開發(fā)套件(一個基于 EFR32MG24 片上系統(tǒng)的小封裝開發(fā)
發(fā)表于 07-17 12:39
【xG24 Matter開發(fā)套件試用體驗】+開機啟動
xG24 Matter開發(fā)套件試用體驗:
1.EFR32xG24 Explorer 套件是一個基于 EFR32MG24 片上系統(tǒng)的小封裝開發(fā)和評估平臺。EFR32xG24 Explor
發(fā)表于 07-11 14:05
JH-7110 RISC-V開發(fā)套件正式開源
近日,賽昉科技在RVspace生態(tài)社區(qū)正式開源昉·驚鴻-7110(JH-7110)DevKit開發(fā)套件,同時提供其原理圖和PCB參考設(shè)計源文件,旨在為客戶提供全面的RISC-V芯片平臺
【LicheeRV-Nano開發(fā)套件試用體驗】基礎(chǔ)開發(fā)環(huán)境
一、開發(fā)環(huán)境分類
注意,雖然是開發(fā)程序,但是這塊處理器涉及到TPU,且官方的基本環(huán)境以及教程沒出完,導致這塊處理器的開發(fā)SDK其實是分化的。
發(fā)表于 03-18 00:12
【LicheeRV-Nano開發(fā)套件試用體驗】LicheeRV Nano 開箱
一、和一代對比
LicheeRV Nano是對milkv-duo的二代提升。與此同時,算力芯片也提升了一個臺階。
首先最明顯的是1TOPS的NPU。相比一代TPU,功能更全面,同時算力有了較大的性能
發(fā)表于 03-08 17:41
【LicheeRV-Nano開發(fā)套件試用連載體驗】 + 2、鏡像燒錄
二、燒錄鏡像
本次鏡像燒錄環(huán)境是在ubuntu22.04下,其他環(huán)境參照官方wiki。
鏡像地址:https://github.com/sipeed/LicheeRV-Nano
發(fā)表于 03-08 09:50
【LicheeRV-Nano開發(fā)套件試用體驗】LicheeRV-Nano上的IAI技術(shù)應用
開發(fā)板,之前試用過 DUO對其清奇骨骼,小巧的身板,強勁的性能所吸引,在知道其更加強悍的兄弟板出來后,第一時間申請到試用。
此次開發(fā)板包含物料比較充分,除了有
發(fā)表于 03-07 17:32
【LicheeRV-Nano開發(fā)套件試用體驗】+智能平板開發(fā)
首先感謝Sipeed矽速科技和電子發(fā)燒友給與的這次機會,得以試用LicheeRV-Nano開發(fā)套件,并與大家共同分享與學習。
鑒于試用報告格式調(diào)整,后面亦按要求展現(xiàn)。
申請理由:
發(fā)表于 03-06 23:05
【LicheeRV-Nano開發(fā)套件試用連載體驗】+ 實現(xiàn)三麥克納姆輪小車自主導航
【LicheeRV-Nano開發(fā)套件試用連載體驗】+ 實現(xiàn)三麥克納姆輪小車自主導航
非常感謝被選中成為Sipeed矽速科技、電子發(fā)燒友論壇組織的此次試用體驗幸運兒,有機會參與
發(fā)表于 03-03 14:20
EASY-EAI攜手Hailo推出高性能、高算力的邊緣AI硬件組合
EASY-EAI與Hailo建立合作關(guān)系,共同推出高算力的邊緣AI產(chǎn)品組合。
評論