溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python如何實(shí)現(xiàn)我的世界游戲

發(fā)布時間:2021-11-09 11:15:52 來源:億速云 閱讀:301 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Python如何實(shí)現(xiàn)我的世界游戲,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

1.準(zhǔn)備

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

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

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

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

pip install pyglet

看到 Successfully installed xxx 則說明安裝成功

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

本地下載:

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

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

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

python main.py

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

移動

  • W: 前進(jìn)

  • S: 后退

  • A: 往左

  • D: 往右

  • 鼠標(biāo)移動: 視角

  • 空格: 跳躍

  • Tab: 切換到飛行模式

建筑

  • 選擇建造類型:

1: 磚塊

2: 草叢

3: 沙丘

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

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

退出

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

來看看我的實(shí)畫:

Python如何實(shí)現(xiàn)我的世界游戲

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

3.代碼解讀與自定義

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

Python如何實(shí)現(xiàn)我的世界游戲

在上圖紅框的位置可以設(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

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

Python如何實(shí)現(xiàn)我的世界游戲

在源代碼中,涉及到用戶增加區(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

也就是說,我們增加自己的區(qū)塊是完全可能的,那么這個tex_coords((1, 1), (1, 1), (1, 1))是什么意思呢?看看下面這2個函數(shù):

Python如何實(shí)現(xiàn)我的世界游戲

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

Python如何實(shí)現(xiàn)我的世界游戲

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

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

以上是“Python如何實(shí)現(xiàn)我的世界游戲”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI