完美体育·(中国)手机网页版科技提醒您:您的浏览器版本过低或者使用了兼容模式,为了获得更好的浏览体验,建议使用IE10以上的浏览器或使用极速模式。 请升级浏览器以获得更好的体验!

完美体育·(中国)手机网页版 > 评测报告 > 【完美体育·(中国)手机网页版MYD-J1028X开发板】开发环境体验之python开发2048小游戏

【完美体育·(中国)手机网页版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。
image.png

串口登录开发板

设置开发板IP为192.168.137.2.

ifconfig eno0 192.168.137.2

电脑ping开发板,开发板ping电脑。

双向能ping通。如果不能ping通关闭电脑的防火墙。
image.png

vi /etc/ssh/sshd_config

添加一行PermitRootLogin yes

允许ssh root用户登录,否则ssh不能以root用户登录。

使用crt ssh登录
image.png

image.png

输入密码root
image.png

ftp传文件

右键点击ssh的窗口,点击连接SFTP标签页

image.png

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回车控制上下左右移动的方向

image.png

总结

可以看到使用使用python进行脚本开发非常便捷。