人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Python 自制簡(jiǎn)單版《我的世界》的詳細(xì)過(guò)程

發(fā)布日期:2021-12-13 09:38 | 文章來(lái)源:源碼之家

《我的世界 Minecraft》大家應(yīng)該都聽說(shuō)過(guò),但你有沒有想過(guò)自己寫一個(gè)這樣的游戲呢?太難、太復(fù)雜了?也許吧,但是不試一試你怎么知道能不能成呢?

國(guó)外有位叫fogleman的開發(fā)者就用Python做了這樣的一件事——自制《我的世界 Minecraft》,誰(shuí)能想到,僅僅900行的代碼,玩起來(lái)竟然還像模像樣的:

接下來(lái),我們就帶你運(yùn)行這個(gè)項(xiàng)目,并對(duì)這個(gè)開源的小游戲做一下簡(jiǎn)單的更改,讓它變成“你的”世界。

1.準(zhǔn)備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上噢,如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda

Windows環(huán)境下打開Cmd(開始—運(yùn)行—CMD),蘋果系統(tǒng)環(huán)境下請(qǐng)打開Terminal(command+空格輸入Terminal),準(zhǔn)備開始輸入命令安裝依賴。

當(dāng)然,我更推薦大家用VSCode編輯器,把本文代碼Copy下來(lái),在編輯器下方的終端運(yùn)行命令安裝依賴模塊,多舒服的一件事啊

在終端輸入以下命令安裝我們所需要的依賴模塊:

pip install pyglet

看到 Successfully installed xxx 則說(shuō)明安裝成功

git clone https://github.com/fogleman/Minecraft.git

本地下載:

http://xiazai.jb51.net/202111/yuanma/Minecraft_jb51.rar

2.運(yùn)行及操作

運(yùn)行這個(gè)項(xiàng)目非常簡(jiǎn)單,你只需要進(jìn)入源代碼文件夾輸入以下命令:

python main.py

即可成功運(yùn)行該游戲項(xiàng)目,然后體驗(yàn)一下這個(gè)游戲:

移動(dòng)

  • W: 前進(jìn)
  • S: 后退
  • A: 往左
  • D: 往右
  • 鼠標(biāo)移動(dòng): 視角
  • 空格: 跳躍
  • Tab: 切換到飛行模式

建筑

  • 選擇建造類型:

1: 磚塊

2: 草叢

3: 沙丘

  • 鼠標(biāo)左鍵:去除建筑
  • 鼠標(biāo)右鍵:增加建筑

退出

  • ESC: 關(guān)閉窗口

來(lái)看看我的實(shí)畫:

這個(gè)“實(shí)”字著實(shí)難畫,寶典兩個(gè)字被我略去了,因?yàn)槲疫x的地兒右邊空位不夠。

3.代碼解讀與自定義

接下來(lái)讓我們看看這份游戲的代碼,整個(gè)游戲代碼只有902行,真優(yōu)秀:

在上圖紅框的位置可以設(shè)定默認(rèn)的窗口大小。不僅如此,作者還給了一些參數(shù)以供自定義速度、重力、跳躍高度等:

# 每秒幀數(shù)
TICKS_PER_SEC = 60
# 磚塊大小
SECTOR_SIZE = 16
# 行走速度與飛行速度
WALKING_SPEED = 5
FLYING_SPEED = 15
# 重力與跳躍高度
GRAVITY = 20.0
MAX_JUMP_HEIGHT = 1.0

我們能不能自定義磚塊類型呢?源代碼文件夾下有一個(gè)texture圖片:

在源代碼中,涉及到用戶增加區(qū)塊的代碼只有3行,如SAND:

SAND = tex_coords((1, 1), (1, 1), (1, 1))
# ... ...
t = random.choice([GRASS, SAND, BRICK])
# ... ...
self.inventory = [BRICK, GRASS, SAND]
# 1.brick, 2.grass, 3.sand

也就是說(shuō),我們?cè)黾幼约旱膮^(qū)塊是完全可能的,那么這個(gè)tex_coords((1, 1), (1, 1), (1, 1))是什么意思呢?看看下面這2個(gè)函數(shù):

看完tex_coords函數(shù)的參數(shù)你大概就知道了,這里第一個(gè)參數(shù),代表磚塊的頂部圖像,第二個(gè)參數(shù)代表底部圖像,第三個(gè)參數(shù)代表四個(gè)邊的圖像。而傳入的參數(shù)中,(1, 0) 則表示為texture.png 的第(1,0)個(gè)圖:

比如沙子,頂邊、底邊、四邊都為一樣的(1,1)這個(gè)圖像,因此是:

SAND = tex_coords((1, 1), (1, 1), (1, 1))

相信明白了這個(gè)原理后,你自己加一個(gè)自定義圖形的磚塊也不難了吧?大家可以動(dòng)手試一試。給這個(gè)項(xiàng)目添磚加瓦,如果好看的話,說(shuō)不定還能給作者提個(gè)PR,成為4k stars項(xiàng)目的貢獻(xiàn)者之一!

到此這篇關(guān)于教你用 Python 自制簡(jiǎn)單版《我的世界》的文章就介紹到這了,更多相關(guān)Python我的世界內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部