本文來源電子發燒友社區,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2308793_1_1.html
前言
過程
復制代碼
前言
[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)
添加可執行權限
chmod +x 2048.py
運行
總結
python 2048.py
分別用wsad控制上下左右移動

開發板提供了Python環境,直接開發板上進行Python開發十分便捷,這對一些輕量開發場景時非常方便。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
開發板
+關注
關注
25文章
5661瀏覽量
104458 -
靈眸
+關注
關注
0文章
20瀏覽量
3308
發布評論請先 登錄
相關推薦
熱點推薦
【EASY EAI Orin Nano開發板試用體驗】EASY-EAI-Toolkit通用組件體驗
、環境準備
閱讀EASY EAI Orin Nano開發板說明書,板子預留了UART4、UART8和UART10三個串口。
UART8靠上面
發表于 07-04 23:38
【EASY EAI Orin Nano開發板試用體驗】--WiFi連接與nfs共享
掛載
上一篇搭建環境是開發板插網線共享NFS服務器,總覺得插根網線影響移動板子靈活性,想到上面WIFI無線已經連接上了,就使用WIFI去掛載,嘗試也是成功的。
1.ping nfs服務器ip,如下是連通
發表于 06-29 21:56
【EASY EAI Orin Nano開發板試用體驗】EASY-EAI-Toolkit初體驗
本次EASY EAI Orin Nano開發板試用體驗主要是超級想體驗靈眸的EASY-EAI-T
發表于 06-28 21:21
【EASY EAI Orin Nano開發板試用體驗】--開發環境準備與點燈
環境adb shell
(2)在開發板/home/orin-nano/Desktop/路徑創建目錄nfscd /home/orin-nano/Desktop/mkdir nfs
(3)
發表于 06-28 15:45
【EASY EAI Orin Nano開發板試用體驗】開箱和固件燒錄更新體驗
首先感謝靈眸科技和發燒友組織的開發板大賽!
一、硬件介紹
靈眸科技EASY EAI Orin-Nano基于瑞芯微的RK3576處理器設計,集成了4個Cortex-A72和4個Corte
發表于 06-26 23:41
【EASY EAI Orin Nano開發板試用體驗】人臉識別體驗
| 10.92 MiB/s, 完成.
處理 delta 中: 100% (77/77), 完成.
2、adb登錄開發板,并加載nfs
developer@EASY-EAI-Develop:~/nfsroot
發表于 06-26 06:54
【EASY EAI Orin Nano開發板試用體驗】--開發板開箱了解
感謝靈眸科技與論壇提供的開發板與平臺。EASY EAI Orin-Nano開發板實物如下:
EASY
發表于 06-25 23:32
【EASY EAI Orin Nano開發板試用體驗】01-開箱報告及開發環境準備
前言
首先要特別感謝發燒友論壇和廣州靈眸科技給我們提供的本次EASY EAI Orin Nano開發板試用機會, 在申請通過后很快就收到順豐
發表于 06-24 19:04
【EASY EAI Orin Nano開發板試用體驗】安裝nfs服務器
/developer/nfsroot *
developer@EASY-EAI-Develop:~$
測試:
使用typec連上開發板后,執行adb shell登錄開發板。
在Desktop中創建nfs 然后
發表于 06-22 17:32
【EASY EAI Orin Nano開發板試用體驗】開發環境準備
【前言】
首先感謝電子發燒友論壇以及靈眸科技給示了我這次非常難得的【EASY EAI Orin Nano開發板試用體驗】的機會,在進行評測之
發表于 06-22 16:42
基于RK3576處理器,EASY EAI Orin Nano開發板免費試用
EASY EAI Orin Nano是廣州靈眸科技有限公司的旗艦級硬件產品。基于瑞芯微的RK3576處理器設計,集成了4個Cortex-A72和4個Cortex-A53及支持NEON指令集,支持

基于RV1126開發板的rknn-toolkit-lite使用方法
rknn-toolkit-lite是用于python算法的推理的組件,當前已經在EASY-EAI-Nano完成適配,用戶可以用它進行深度學習算法的純python開發。而且同時支持已經進

FPGA打磚塊小游戲設計思路
HDL,?Vivado 平臺上開發打磚塊小游戲并使用 PS2 與 VGA 的基本思路: 一、整體架構設計 1. 輸入模塊: ? PS2 接口模塊:負責與 PS2 設備(如游戲手柄)進行通信,接收手柄
評論