最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 自制簡單版《我的世界》的詳細過程

 更新時間:2021年11月09日 09:30:57   作者:編程老袁  
這篇文章主要介紹了教你用 Python 自制簡單版《我的世界》,接下來,我們就帶你運行這個項目,并對這個開源的小游戲做一下簡單的更改,讓它變成“你的”世界

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

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

圖片

接下來,我們就帶你運行這個項目,并對這個開源的小游戲做一下簡單的更改,讓它變成“你的”世界。

1.準(zhǔn)備

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

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

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

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

pip install pyglet

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

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

本地下載:

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

2.運行及操作

運行這個項目非常簡單,你只需要進入源代碼文件夾輸入以下命令:

python main.py

即可成功運行該游戲項目,然后體驗一下這個游戲:

移動

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

建筑

  • 選擇建造類型:

1: 磚塊

2: 草叢

3: 沙丘

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

退出

  • 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)文章

  • python 基于DDT實現(xiàn)數(shù)據(jù)驅(qū)動測試

    python 基于DDT實現(xiàn)數(shù)據(jù)驅(qū)動測試

    這篇文章主要介紹了python 基于DDT實現(xiàn)數(shù)據(jù)驅(qū)動測試的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • Pygame鼠標(biāo)進行圖片的移動與縮放案例詳解

    Pygame鼠標(biāo)進行圖片的移動與縮放案例詳解

    pygame是Python的第三方庫,里面提供了使用Python開發(fā)游戲的基礎(chǔ)包。本文將介紹如何通過Pygame實現(xiàn)鼠標(biāo)進行圖片的移動與縮放,感興趣的可以關(guān)注一下
    2021-12-12
  • python list使用示例 list中找連續(xù)的數(shù)字

    python list使用示例 list中找連續(xù)的數(shù)字

    這篇文章主要介紹了list中找連續(xù)的數(shù)字的示例,大家參考使用吧
    2014-01-01
  • Python實現(xiàn)將n個點均勻地分布在球面上的方法

    Python實現(xiàn)將n個點均勻地分布在球面上的方法

    這篇文章主要介紹了Python實現(xiàn)將n個點均勻地分布在球面上的方法,涉及Python繪圖的技巧與相關(guān)數(shù)學(xué)函數(shù)的調(diào)用,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • python 內(nèi)置庫wsgiref的使用(WSGI基礎(chǔ)入門)

    python 內(nèi)置庫wsgiref的使用(WSGI基礎(chǔ)入門)

    WSGI(web服務(wù)器網(wǎng)關(guān)接口)主要規(guī)定了服務(wù)器端和應(yīng)用程序之間的接口,即規(guī)定了請求的URL到后臺處理函數(shù)之間的映射該如何實現(xiàn)。wsgiref是一個幫助開發(fā)者開發(fā)測試的Python內(nèi)置庫,程序員可以通過這個庫了解WSGI的基本運行原理,但是不能把它用在生產(chǎn)環(huán)境上。
    2021-06-06
  • selenium+python設(shè)置爬蟲代理IP的方法

    selenium+python設(shè)置爬蟲代理IP的方法

    這篇文章主要介紹了selenium+python設(shè)置爬蟲代理IP的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • python基礎(chǔ)之集合

    python基礎(chǔ)之集合

    這篇文章主要介紹了python集合,實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
    2021-10-10
  • python中的property及屬性與特性之間的優(yōu)先權(quán)

    python中的property及屬性與特性之間的優(yōu)先權(quán)

    這篇文章主要介紹了python中的property及屬性與特性之間的優(yōu)先權(quán),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Python讀取sqlite數(shù)據(jù)庫文件的方法分析

    Python讀取sqlite數(shù)據(jù)庫文件的方法分析

    這篇文章主要介紹了Python讀取sqlite數(shù)據(jù)庫文件的方法,結(jié)合實例形式分析了Python引入sqlite3模塊操作sqlite數(shù)據(jù)庫的讀取、SQL命令執(zhí)行等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Win下PyInstaller 安裝和使用教程

    Win下PyInstaller 安裝和使用教程

    pyinstaller是一個非常簡單的打包python的py文件的庫,這篇文章主要介紹了PyInstaller-Win安裝和使用教程,本文通過流程實例相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2019-12-12

最新評論

长岭县| 长武县| 崇仁县| 四会市| 盐亭县| 安阳县| 邵武市| 靖宇县| 抚顺县| 汽车| 土默特右旗| 夏津县| 平泉县| 定陶县| 从化市| 苍梧县| 合江县| 万宁市| 绩溪县| 松江区| 天台县| 库伦旗| 墨竹工卡县| 屏东市| 宣化县| 那坡县| 大宁县| 金沙县| 团风县| 德清县| 万山特区| 张家港市| 甘孜| 静宁县| 新野县| 岗巴县| 昌乐县| 丹棱县| 正阳县| 平舆县| 江陵县|