Python 自制簡單版《我的世界》的詳細過程
《我的世界 Minecraft》大家應(yīng)該都聽說過,但你有沒有想過自己寫一個這樣的游戲呢?太難、太復雜了?也許吧,但是不試一試你怎么知道能不能成呢?
國外有位叫fogleman的開發(fā)者就用Python做了這樣的一件事——自制《我的世界 Minecraft》,誰能想到,僅僅900行的代碼,玩起來竟然還像模像樣的:
接下來,我們就帶你運行這個項目,并對這個開源的小游戲做一下簡單的更改,讓它變成“你的”世界。
1.準備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上噢,如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda
Windows環(huán)境下打開Cmd(開始—運行—CMD),蘋果系統(tǒng)環(huán)境下請打開Terminal(command+空格輸入Terminal),準備開始輸入命令安裝依賴。
當然,我更推薦大家用VSCode編輯器,把本文代碼Copy下來,在編輯器下方的終端運行命令安裝依賴模塊,多舒服的一件事啊
在終端輸入以下命令安裝我們所需要的依賴模塊:
pip install pyglet
看到 Successfully installed xxx 則說明安裝成功
本地下載:
http://xiazai.jb51.net/202111/yuanma/Minecraft_jb51.rar
2.運行及操作
運行這個項目非常簡單,你只需要進入源代碼文件夾輸入以下命令:
python main.py
即可成功運行該游戲項目,然后體驗一下這個游戲:
移動
- W: 前進
- S: 后退
- A: 往左
- D: 往右
- 鼠標移動: 視角
- 空格: 跳躍
- Tab: 切換到飛行模式
建筑
- 選擇建造類型:
1: 磚塊
2: 草叢
3: 沙丘
- 鼠標左鍵:去除建筑
- 鼠標右鍵:增加建筑
退出
- ESC: 關(guān)閉窗口
來看看我的實畫:
這個“實”字著實難畫,寶典兩個字被我略去了,因為我選的地兒右邊空位不夠。
3.代碼解讀與自定義
接下來讓我們看看這份游戲的代碼,整個游戲代碼只有902行,真優(yōu)秀:
在上圖紅框的位置可以設(shè)定默認的窗口大小。不僅如此,作者還給了一些參數(shù)以供自定義速度、重力、跳躍高度等:
# 每秒幀數(shù) TICKS_PER_SEC = 60 # 磚塊大小 SECTOR_SIZE = 16 # 行走速度與飛行速度 WALKING_SPEED = 5 FLYING_SPEED = 15 # 重力與跳躍高度 GRAVITY = 20.0 MAX_JUMP_HEIGHT = 1.0
我們能不能自定義磚塊類型呢?源代碼文件夾下有一個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
也就是說,我們增加自己的區(qū)塊是完全可能的,那么這個tex_coords((1, 1), (1, 1), (1, 1))是什么意思呢?看看下面這2個函數(shù):
看完tex_coords函數(shù)的參數(shù)你大概就知道了,這里第一個參數(shù),代表磚塊的頂部圖像,第二個參數(shù)代表底部圖像,第三個參數(shù)代表四個邊的圖像。而傳入的參數(shù)中,(1, 0) 則表示為texture.png 的第(1,0)個圖:
比如沙子,頂邊、底邊、四邊都為一樣的(1,1)這個圖像,因此是:
SAND = tex_coords((1, 1), (1, 1), (1, 1))
相信明白了這個原理后,你自己加一個自定義圖形的磚塊也不難了吧?大家可以動手試一試。給這個項目添磚加瓦,如果好看的話,說不定還能給作者提個PR,成為4k stars項目的貢獻者之一!
到此這篇關(guān)于教你用 Python 自制簡單版《我的世界》的文章就介紹到這了,更多相關(guān)Python我的世界內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pycharm出現(xiàn)卡頓、反應(yīng)慢及CPU占用高等問題解決
相信很多剛開始使用pycharm不太熟練的小伙伴,每天一開機打開pycharm總是卡半天,不知道的還以為是電腦卡了或者啥問題的,下面這篇文章主要給大家介紹了關(guān)于Pycharm出現(xiàn)卡頓、反應(yīng)慢及CPU占用高等問題解決的相關(guān)資料,需要的朋友可以參考下2023-06-06