国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【飛凌RZ/G2L開發板試用體驗】開發環境體驗之python開發2048小游戲

開發板試用精選 ? 來源:開發板試用 ? 作者:電子發燒友論壇 ? 2022-10-24 17:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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


Python開發環境體驗:2048游戲

前言

查看開發板部署了Python3.8.2的環境,可以使用python進行開發。支持python等腳本開發的話對應于很多輕量級開發場景會非常快速便捷,所以我們也簡單測試下使用python 編寫2048小游戲進行測試。

root@okg2l:~# python3 --version

Python 3.8.2

root@okg2l:~#

準備

參考https://bbs.elecfans.com/jishu_2299841_1_1.html開發環境搭建

基本的登錄文件傳輸等操作。

2048小游戲代碼

vi 2048.py

按鍵i進入編輯模式

復制黏貼如下代碼

# -*- 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+:進入命令模式

輸入wq!保存

運行

python3 2048.py

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

總結

以一個小的程序體驗下python開發的便捷,開發板支持的python版本也比較新Python3.8.2,能較好滿足開發需求。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 飛凌
    +關注

    關注

    0

    文章

    135

    瀏覽量

    16895
  • 開發板試用
    +關注

    關注

    3

    文章

    303

    瀏覽量

    2745
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式RV1126B開發板】+兩款開發板之比較

    用戶二次開發。 就開發工具而言,可支持ubuntu與docker、支持在線交叉編譯環境及純Python開發方式。 就
    發表于 03-05 23:32

    Renesas RZ/G2L, RZ/V2L SMARC模塊硬件設計解析

    Renesas RZ/G2L, RZ/V2L SMARC模塊硬件設計解析 在嵌入式系統開發領域
    的頭像 發表于 12-30 09:35 ?969次閱讀

    Renesas SMARC EVK 開發板啟動指南

    Renesas SMARC EVK 開發板啟動指南 在嵌入式開發領域,Renesas 的 RZ/G2L、RZ/
    的頭像 發表于 12-29 16:15 ?327次閱讀

    OK-MX9596-C開發板試用】②體驗WIFI、藍牙、音頻、視頻,為AI應用打下基礎

    OK-MX9596-C開發板試用】①開箱圖賞、跑分測試、yolo大模型三箭齊發 -
    發表于 10-21 18:17

    【作品合集】嵌入式OK527N-C開發板測評

    開發板試用】開箱與開發板介紹視頻 作者:jf_69121293【T527N開發板
    發表于 09-22 15:54

    送啦!嵌入式聯合NXP邀您參加OK-MX9596-C開發板試用活動

    送啦!嵌入式聯合NXP邀您參加OK-MX9596-C開發板試用活動
    的頭像 發表于 08-22 08:03 ?1004次閱讀
    送啦!<b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式聯合NXP邀您參加OK-MX9596-C<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>活動

    RK3568開發板暗藏32位兼容開關?嵌入式帶你一鍵解鎖!

    RK3568是一款64位處理器,嵌入式為其提供的交叉編譯器也是64位的,然而部分用戶可能需要在RK3568開發板上運行32位應用。本文將詳細闡述如何使用32位交叉編譯器,編譯出32位應用,并使其能夠在
    的頭像 發表于 07-19 08:49 ?4390次閱讀
    RK3568<b class='flag-5'>開發板</b>暗藏32位兼容開關?<b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式帶你一鍵解鎖!

    瑞薩MCU方案:瑞薩RZ/G2L Bootloader單獨編譯方法詳解

    微處理器還配備有大量接口,如攝像頭輸入、顯示輸出、USB2.0和千兆以太網,因此特別適用于入門級工業人機界面(HMI)和具有視頻功能的嵌入式設備等應用。 ? ? ? 在RZ/G2L開發工作中,用戶經常
    的頭像 發表于 07-08 14:47 ?2629次閱讀
    瑞薩MCU方案:瑞薩<b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b> Bootloader單獨編譯方法詳解

    T527N開發板試用T527N開發板開箱評測

    很高興收到嵌入式申請的T527N開發板,板子的正反面如下圖所示: 可以看到,板子上面的資源非常的豐富,有CAN,485, SIM卡槽
    發表于 07-04 11:43

    基于瑞薩64位MPU RZ/G2L進行32位應用軟件開發

    本文主要介紹基于瑞薩64位MPU RZ/G2L進行32位應用軟件開發的介紹,用于解決客戶32位軟件移植相關問題,供客戶參考。
    的頭像 發表于 06-26 15:48 ?1986次閱讀
    基于瑞薩64位MPU <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>進行32位應用軟件<b class='flag-5'>開發</b>

    T527N開發板試用】開箱與開發板介紹視頻

    嵌入式OK527N-C開發板開箱介紹】 https://www.bilibili.com/video/BV1sfKSzmEtU/?share_source=copy_web&
    發表于 06-26 09:43

    基于RK處理器,創龍TL3562-MiniEVM開發板試用體驗

    數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-05 16:31 ?1176次閱讀
    基于RK處理器,創龍TL3562-MiniEVM<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>體驗

    性能強悍!合眾HZ-RK3568開發板試用體驗

    月19日 ? 評測數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發板免費試用 RISC-V開發板深度評測!頂級開發板免費
    的頭像 發表于 06-05 16:30 ?1469次閱讀
    性能強悍!合眾HZ-RK3568<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>體驗

    【評測試用】合眾HZ-T536開發板免費試用體驗

    【評測試用】合眾HZ-T536開發板免費試用體驗
    的頭像 發表于 05-27 08:05 ?971次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發板</b>免費<b class='flag-5'>試用</b>體驗

    有獎試用!!RA-Eco-RA4M2-100PIN-V1.0開發板試用活動報名

    RA-Eco-RA4M2-100PIN-V1.0開發板試用活動
    的頭像 發表于 03-13 12:10 ?1469次閱讀
    有獎<b class='flag-5'>試用</b>??!RA-Eco-RA4M<b class='flag-5'>2</b>-100PIN-V1.0<b class='flag-5'>開發板</b><b class='flag-5'>試用</b>活動報名