【完美体育·(中国)手机网页版MYD-J1028X开发板】开发环境体验之python开发2048小游戏
文章来源: 发布日期:2022.12.7 浏览次数:1136 次 |
由评测者李红洁提供。
前言
板子本身安装了python开发环境
使用以下指令查看版本
python --version
root@localhost:~# python --version
Python 3.6.9
配置SSH登录
电脑和开发板使用以太网连接。这里使用J5的网口对应eno0.
电脑设置对应网卡的IP。我这里是192.168.137.1。
串口登录开发板
设置开发板IP为192.168.137.2.
ifconfig eno0 192.168.137.2
电脑ping开发板,开发板ping电脑。
双向能ping通。如果不能ping通关闭电脑的防火墙。
vi /etc/ssh/sshd_config
添加一行PermitRootLogin yes
允许ssh root用户登录,否则ssh不能以root用户登录。
使用crt ssh登录
输入密码root
ftp传文件
右键点击ssh的窗口,点击连接SFTP标签页
lls查看本地目录
lcd跳转本地目录
ls查看远程开饭啊目录
cd跳转远程开发板目录
put 发送文件到开发板
get获取开发板的文件到本地
binary 二进制方式船速和文件推荐使用
Python开发体验 2048小游戏
将以下2048.py文件导入到开发板
# -*- 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 = 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 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 ("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)
put 2048.py
python 2048.py运行
w s a d回车控制上下左右移动的方向
总结
可以看到使用使用python进行脚本开发非常便捷。