欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【飛凌RZ/G2L開發(fā)板試用體驗(yàn)】開發(fā)環(huán)境體驗(yàn)之python開發(fā)2048小游戲

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-24 17:44 ? 次閱讀

本文來源電子發(fā)燒友社區(qū),作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2299870_1_1.html


Python開發(fā)環(huán)境體驗(yàn):2048游戲

前言

查看開發(fā)板部署了Python3.8.2的環(huán)境,可以使用python進(jìn)行開發(fā)。支持python等腳本開發(fā)的話對應(yīng)于很多輕量級開發(fā)場景會(huì)非??焖俦憬?所以我們也簡單測試下使用python 編寫2048小游戲進(jìn)行測試。

root@okg2l:~# python3 --version

Python 3.8.2

root@okg2l:~#

準(zhǔn)備

參考https://bbs.elecfans.com/jishu_2299841_1_1.html開發(fā)環(huán)境搭建

基本的登錄文件傳輸?shù)炔僮鳌?/p>

2048小游戲代碼

vi 2048.py

按鍵i進(jìn)入編輯模式

復(fù)制黏貼如下代碼

# -*- 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)


按esc按鍵

按鍵shift+:進(jìn)入命令模式

輸入wq!保存

運(yùn)行

python3 2048.py

按鍵w,s,a,d回車分別對應(yīng)上下左右。
image.png

總結(jié)

以一個(gè)小的程序體驗(yàn)下python開發(fā)的便捷,開發(fā)板支持的python版本也比較新Python3.8.2,能較好滿足開發(fā)需求。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 飛凌
    +關(guān)注

    關(guān)注

    0

    文章

    134

    瀏覽量

    16182
  • 開發(fā)板試用
    +關(guān)注

    關(guān)注

    3

    文章

    301

    瀏覽量

    2158
收藏 人收藏

    評論

    相關(guān)推薦

    如何安裝模擬器玩nes小游戲-基于米爾瑞芯微RK3576開發(fā)板

    本篇源自:優(yōu)秀創(chuàng)作者 小手涼涼本文將介紹基于米爾電子MYD-LR3576開發(fā)板(米爾基于瑞芯微 RK3576開發(fā)板)的安裝模擬器玩nes小游戲方案測試。 核心系統(tǒng) 操作系統(tǒng)鏡像文件說
    發(fā)表于 02-08 12:10

    【ELF 2學(xué)習(xí)試用】ELF2開發(fā)板開箱體驗(yàn)及基本使用環(huán)境搭建

    ELF2開發(fā)板嵌入式) 開箱包裹內(nèi)容 ? ?打開包裝,你可以看到以下物品 一個(gè)綠聯(lián)的usb3.0讀卡器、sandisk的32g內(nèi)存卡(
    發(fā)表于 01-19 22:41

    嵌入式受邀亮相瑞薩2024工業(yè)技術(shù)研討會(huì)

    嵌入式作為瑞薩電子的生態(tài)合作伙伴,給2024瑞薩電子MCU/MPU工業(yè)技術(shù)研討會(huì)的現(xiàn)場觀眾帶去了基于RZ/G2L高性能多核異構(gòu)處理器設(shè)計(jì)開發(fā)
    的頭像 發(fā)表于 12-07 14:27 ?421次閱讀
    <b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式受邀亮相瑞薩2024工業(yè)技術(shù)研討會(huì)

    嵌入式OK3588J-C開發(fā)板體驗(yàn)】OK3588J-C開發(fā)板開箱評測

    很高興收到嵌入式提供的OK3588J-C開發(fā)板,這是瑞芯微最新的8K旗艦8核SOC,非常適合用來做機(jī)器視覺,AI,語音識別,圖像處理。 下面來看看OK3588J-C開發(fā)板的開箱圖,
    發(fā)表于 12-04 15:23

    追加名額丨米爾瑞芯微RK3576開發(fā)板有獎(jiǎng)試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費(fèi)試用活動(dòng)加碼啦~~米爾追加了2塊價(jià)值849元的MYD-LR3576開發(fā)板發(fā)起
    的頭像 發(fā)表于 11-22 01:00 ?283次閱讀
    追加名額丨米爾瑞芯微RK3576<b class='flag-5'>開發(fā)板</b>有獎(jiǎng)<b class='flag-5'>試用</b>

    RZ/G2L高速虛擬串口方案 基于瑞薩RZ/G2L SMARC開發(fā)板的虛擬(Virtual UART)實(shí)現(xiàn)方案

    RZ/G2L具有豐富的外設(shè),比如千兆以太網(wǎng),CANFD以及豐富的UART接口,可以滿足工業(yè)數(shù)據(jù)收集處理相關(guān)的應(yīng)用。本文主要介紹基于瑞薩RZ/G2L SMARC
    發(fā)表于 11-20 14:41 ?607次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>高速虛擬串口方案 基于瑞薩<b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> SMARC<b class='flag-5'>開發(fā)板</b>的虛擬(Virtual UART)實(shí)現(xiàn)方案

    有獎(jiǎng)試用!!RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動(dòng)開始報(bào)名

    有獎(jiǎng)試用!!RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動(dòng)開始報(bào)名
    的頭像 發(fā)表于 11-09 01:02 ?345次閱讀
    有獎(jiǎng)<b class='flag-5'>試用</b>?。A-Eco-RA4E<b class='flag-5'>2</b>-64PIN-V1.0<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>活動(dòng)開始報(bào)名

    嵌入式OK3576-C開發(fā)板體驗(yàn)】開箱報(bào)告

    簡介 很榮幸參與到本次由嵌入式和電子發(fā)燒友提供的OK3576-C開發(fā)板試用機(jī)會(huì)。 嵌入
    發(fā)表于 08-22 02:13

    【龍芯2K0300蜂鳥試用】+龍芯2K0300蜂鳥開發(fā)板快速上手

    ,龍芯架構(gòu)等相關(guān)文檔,同時(shí)也是直接把環(huán)境搭建好的虛擬機(jī)給出,15G左右。對于偏向于應(yīng)用層的開發(fā)者可以直接下載這個(gè),解壓之后使用VMware打開就行。 4.開發(fā)板登錄 打開終端工具,使用
    發(fā)表于 08-04 14:19

    RZ/G2L串口SCI的使用(下)

    RZ/G2L串口SCI的使用
    的頭像 發(fā)表于 08-03 08:06 ?582次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(下)

    RZ/G2L串口SCI的使用(上)

    RZ/G2L串口SCI的使用
    的頭像 發(fā)表于 07-25 08:06 ?577次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>串口SCI的使用(上)

    全志T527開發(fā)板buildroot系統(tǒng)下擴(kuò)大rootfs分區(qū)

    一、實(shí)驗(yàn)環(huán)境介紹 硬件:T527開發(fā)板2G+16G) 軟件:全志Tina sdk 二、查看當(dāng)前存儲(chǔ)分布 登入
    發(fā)表于 07-18 14:45

    RZ/G2L Demo調(diào)試經(jīng)驗(yàn)流程分享(1)

    r01us0553ej0107-rz-g(Release Note).pdf,r01us0556ej0102-rz-g(Board_StartUp_Guide_smarcEVK).pdf,對SMARC EVK of RZ/
    的頭像 發(fā)表于 05-06 14:25 ?751次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> Demo調(diào)試經(jīng)驗(yàn)流程分享(1)

    RZ/G2L SD卡啟動(dòng)環(huán)境變量存儲(chǔ)設(shè)置

    RZ/G2L微處理器配備Cortex-A55(1.2 GHz)CPU、16位DDR3L/DDR4接口、帶Arm Mali-G31的3D圖形加速引擎以及視頻編解碼器(H.264)。
    的頭像 發(fā)表于 03-21 13:56 ?635次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> SD卡啟動(dòng)<b class='flag-5'>環(huán)境</b>變量存儲(chǔ)設(shè)置

    【米爾-瑞薩RZ/G2UL開發(fā)板】3.雜項(xiàng)測試

    【米爾-瑞薩RZ/G2UL開發(fā)板】3.雜項(xiàng)測試 不知道為啥我這板子好多奇奇怪怪的調(diào)試信息蹦出來,臨時(shí)抑制辦法 echo 1 4 1 7 > /proc/sys/kernel
    發(fā)表于 02-28 15:25