日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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


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

前言

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

root@okg2l:~# python3 --version

Python 3.8.2

root@okg2l:~#

準(zhǔn)備

參考https://bbs.elecfans.com/jishu_2299841_1_1.html開(kāi)發(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回車分別對(duì)應(yīng)上下左右。
image.png

總結(jié)

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

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

    關(guān)注

    0

    文章

    136

    瀏覽量

    16945
  • 開(kāi)發(fā)板試用

    關(guān)注

    3

    文章

    303

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    簡(jiǎn)單認(rèn)識(shí)嵌入式OK1126B-S開(kāi)發(fā)板

    邊緣 AI 視覺(jué)、工業(yè)物聯(lián)網(wǎng)開(kāi)發(fā)總被算力不足、接口受限、開(kāi)發(fā)門檻高困住?嵌入式 OK1126B-S 開(kāi)發(fā)板,基于瑞芯微 RV1126B
    的頭像 發(fā)表于 04-27 16:02 ?639次閱讀
    簡(jiǎn)單認(rèn)識(shí)<b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式OK1126B-S<b class='flag-5'>開(kāi)發(fā)板</b>

    嵌入式RV1126B開(kāi)發(fā)板試用體驗(yàn)】初識(shí)嵌入式RV1126B開(kāi)發(fā)板

    這幾天剛收到嵌入式RV1126B開(kāi)發(fā)板,帶大家先認(rèn)識(shí)一下這塊開(kāi)發(fā)板,收到的開(kāi)發(fā)板如下圖。 開(kāi)發(fā)板
    發(fā)表于 04-13 17:27

    RZ/G2LRZ/G2LC系列MPU深度解析:硬件設(shè)計(jì)開(kāi)發(fā)的新選擇

    RZ/G2LRZ/G2LC系列MPU深度解析:硬件設(shè)計(jì)開(kāi)發(fā)的新選擇 在電子工程師的日常工作中,選擇合適的微處理器單元(MPU)對(duì)于項(xiàng)目的成
    的頭像 發(fā)表于 04-01 11:45 ?216次閱讀

    嵌入式RV1126B開(kāi)發(fā)板試用體驗(yàn)】+ 1. 開(kāi)發(fā)環(huán)境搭建

    本帖最后由 slmxiaodai_163 于 2026-3-16 23:30 編輯 非常有幸獲得“嵌入式RV1126B開(kāi)發(fā)板試用(https://bbs.elecfans.c
    發(fā)表于 03-16 15:34

    嵌入式RV1126B開(kāi)發(fā)板】+兩款開(kāi)發(fā)板之比較

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

    Renesas RZ/G2L, RZ/V2L SMARC模塊硬件設(shè)計(jì)解析

    Renesas RZ/G2L, RZ/V2L SMARC模塊硬件設(shè)計(jì)解析 在嵌入式系統(tǒng)開(kāi)發(fā)領(lǐng)域
    的頭像 發(fā)表于 12-30 09:35 ?1823次閱讀

    Renesas SMARC EVK 開(kāi)發(fā)板啟動(dòng)指南

    Renesas SMARC EVK 開(kāi)發(fā)板啟動(dòng)指南 在嵌入式開(kāi)發(fā)領(lǐng)域,Renesas 的 RZ/G2LRZ/
    的頭像 發(fā)表于 12-29 16:15 ?566次閱讀

    OK-MX9596-C開(kāi)發(fā)板試用】②體驗(yàn)WIFI、藍(lán)牙、音頻、視頻,為AI應(yīng)用打下基礎(chǔ)

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

    【作品合集】嵌入式OK527N-C開(kāi)發(fā)板測(cè)評(píng)

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

    送啦!嵌入式聯(lián)合NXP邀您參加OK-MX9596-C開(kāi)發(fā)板試用活動(dòng)

    送啦!嵌入式聯(lián)合NXP邀您參加OK-MX9596-C開(kāi)發(fā)板試用活動(dòng)
    的頭像 發(fā)表于 08-22 08:03 ?1180次閱讀
    送啦!<b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式聯(lián)合NXP邀您參加OK-MX9596-C<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>試用</b>活動(dòng)

    RK3568開(kāi)發(fā)板暗藏32位兼容開(kāi)關(guān)?嵌入式帶你一鍵解鎖!

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

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

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

    基于瑞薩64位MPU RZ/G2L進(jìn)行32位應(yīng)用軟件開(kāi)發(fā)

    本文主要介紹基于瑞薩64位MPU RZ/G2L進(jìn)行32位應(yīng)用軟件開(kāi)發(fā)的介紹,用于解決客戶32位軟件移植相關(guān)問(wèn)題,供客戶參考。
    的頭像 發(fā)表于 06-26 15:48 ?2226次閱讀
    基于瑞薩64位MPU <b class='flag-5'>RZ</b>/<b class='flag-5'>G2L</b>進(jìn)行32位應(yīng)用軟件<b class='flag-5'>開(kāi)發(fā)</b>

    T527N開(kāi)發(fā)板試用】開(kāi)箱與開(kāi)發(fā)板介紹視頻

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

    【評(píng)測(cè)試用】合眾HZ-T536開(kāi)發(fā)板免費(fèi)試用體驗(yàn)

    【評(píng)測(cè)試用】合眾HZ-T536開(kāi)發(fā)板免費(fèi)試用體驗(yàn)
    的頭像 發(fā)表于 05-27 08:05 ?1257次閱讀
    【評(píng)測(cè)<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開(kāi)發(fā)板</b>免費(fèi)<b class='flag-5'>試用</b>體驗(yàn)
    舒城县| 屯留县| 东丽区| 宁安市| 娄底市| 大宁县| 哈尔滨市| 滦平县| 铁力市| 治多县| 赣州市| 绩溪县| 平昌县| 怀宁县| 惠州市| 康定县| 营山县| 德钦县| 波密县| 岑溪市| 内黄县| 西青区| 镇巴县| 垦利县| 鹿泉市| 深州市| 金堂县| 新巴尔虎左旗| 河津市| 饶河县| 五大连池市| 英超| 海原县| 彭阳县| 隆尧县| 天峨县| 湘潭市| 册亨县| 寿宁县| 砀山县| 丘北县|