一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 自制簡單版《我的世界》的詳細過程

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

2022-02-26 00:05編程老袁 Python

這篇文章主要介紹了教你用 Python 自制簡單版《我的世界》,接下來,我們就帶你運行這個項目,并對這個開源的小游戲做一下簡單的更改,讓它變成“你的”世界

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

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

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

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

 

1.準備

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

Windows環境下打開Cmd(開始―運行―CMD),蘋果系統環境下請打開Terminal(command+空格輸入Terminal),準備開始輸入命令安裝依賴。

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

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

pip install pyglet

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

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

本地下載:

https://xiazai.zzvips.com/202111/yuanma/Minecraft_jb51.rar

 

2.運行及操作

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

python main.py

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

移動

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

建筑

  • 選擇建造類型:

1: 磚塊

2: 草叢

3: 沙丘

  • 鼠標左鍵:去除建筑
  • 鼠標右鍵:增加建筑

退出

  • ESC: 關閉窗口

來看看我的實畫:

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

這個“實”字著實難畫,寶典兩個字被我略去了,因為我選的地兒右邊空位不夠。

 

3.代碼解讀與自定義

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

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

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

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

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

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

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

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

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

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

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

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

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

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

到此這篇關于教你用 Python 自制簡單版《我的世界》的文章就介紹到這了,更多相關Python我的世界內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/Python_old_man/article/details/121198061

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 爱福利视频一区 | 亚洲AVAV天堂AV在线网爱情 | 精品国产欧美一区二区五十路 | 91香蕉视频在线播放 | 精品9e精品视频在线观看 | 国产成人一区二区三区视频免费蜜 | 日韩欧美国产免费看清风阁 | 国产精品久久久久久影视 | 草莓视频榴莲视频 | 暖暖的免费观看高清视频韩国 | 狠狠干快播| 成人黄色免费网站 | 四虎一影院区永久精品 | 99这里精品 | 成人影院入口 | 农村美女沟厕嘘嘘被偷看 | 狠狠色狠狠色综合日日小蛇 | 国产高清不卡视频在线播放 | 99视频在线观看视频一区 | 亚洲图片 自拍偷拍 | 日产精品一卡2卡三卡4乱码久久 | 四虎1515hhh co m | 色综合天天综合 | 韩国美女豪爽一级毛片 | 九九热在线视频观看这里只有精品 | 福利片福利一区二区三区 | 欧美色成人tv在线播放 | 欧美日韩国产在线人成dvd | www.东方影库| 好吊日在线| 亚洲国内精品 | 四虎影视紧急入口地址大全 | gogo人体模特啪啪季玥图片 | 呜呜别塞了啊抽插 | 国产亚洲综合久久 | 无人影院在线播放视频 | 2020国产精品亚洲综合网 | 日本厕所spy2wc | 任我鲁精品视频精品 | 奇米影视7777 | 亚洲色图首页 |