1、啟動Start_Server
2、啟動“啟動俠”
二、操作Minecraf1、操作角色- 移動角色
- 上升下降
- 切換人稱、查看狀态、切換全屏
- 改變時間
- 改變天氣
- 遊戲模式
- 防止破壞
1、認識世界坐标
2、将角色傳遞到某處
3、使用時間模塊降低傳送速度
4、使用注釋讓你的程序更易于理解
看了上節課的内容,你們搭建好Minecraft的環境了麼?今天我們就要來用Python玩Minecraft了,我們先來啟動它。
一、啟動Minecraft先雙擊Start_Sever文件,啟動服務器。
接着雙擊“Minecraft啟動俠”啟動遊戲。
如何啟動遊戲上次課程李老師已經介紹過了,如果還有什麼不懂的地方,你們也可以再去複習一下上節課的内容,這裡就不在贅述。
二、操作Minecraft1、鍵盤操作下面我們來看看如何在Minecraft中操作角色,在剛剛打開Minecraft時,我們是用第一人稱看世界的,這種視角對下面我們造房并不友好,所以我們可以用F5鍵将視角改為第三人稱。用WASD四個鍵我們可以移動角色,如果我們一不小心掉進坑裡,我們可以用空格鍵跳出來,如果我們想飛高點看看遠處的世界,可以快速按兩下空格,然後再長按空格飛起來,如果要想落地,就再快速按兩下空格就落回地面,竟然一點也沒傷到,是不是很神奇?如果你想暫時釋放鼠标去編寫程序,就按下ESC暫停一下,接着你可以去幹其它事兒了。
2、環境設置糟糕,我的世界打開為什麼黑呼呼的,還在下雨,突然想起一句歌詞“雨紛紛,舊故裡草木深;我聽聞,你始終一個人…"哎,我的世界總是孤獨的一個人。。。
讓我們按下ESC鍵,到Start_Server窗口下去敲擊一些命令,讓我們的心情變得開朗吧~
1)設置時間
在命令行中輸入我們希望世界的時間
time set (數值)
我的世界怎麼調時間:天黑的時候做實驗也是各種不方便,time set 13000 可以讓我們享受夕陽。
返回遊戲,哇,太美了!每天的這個時候,李老師最喜歡站在玄武湖畔呆呆地凝望,想起一首詩“夕陽無限好,隻是近黃昏。”如此壯麗的景象,為什麼隻有夕陽才有,是不是對人生最後的倔強。好啦,其實大自然每天都有美景,我們珍惜每一天。
大家記住下面的時間點哦:
time set 0 天剛亮
time set 10000 差不多正午
time set 13000(夕陽)time set 15000(午夜)
time set 21000 天就黑了
2)設定天氣
“雨一直下,氣氛不太融洽“為什麼分手總是在雨天,這種天氣總是很容易抑郁,讓我們變個魔術,讓天也晴朗起來吧。還是回到Start_Server窗口下,輸入這樣一句話:
weather clear
再來看看效果:
天終于放晴了,心情也開朗了。
輸入指令:“weather thunder”,就可以切換為雷雨天了。
如果天氣幹旱,就輸入指令“weather rain”,澆灌下幹涸的大地吧。
3)打開生存模式打開生存模式,可以不需要擔心損失健康,感到饑餓或被攻擊,全心全意去創造世界。
但也許你為了更有樂趣而想接受生存模式的挑戰,在創造模式和生存模式之間進行切換也非常簡單。
要想将服務器中的創建模式改為生存模式,請按照以下幾點去做。打開 Minecraft Tools 文件夾,然後打開 server 文件夾。找到 server.properties 文件夾并從目錄中打開,使用記事本工具打開就可以。
在這個文件裡,找到“gamemode=1”并将它改為"gamemode=0”,保存這個文件并關閉。
在Minecraft Tools文件夾中單擊 Start Server 來運行服務器,當你登錄 Minecraft python World 遊戲時,将處于生存模式。
4)防止破壞我們遊戲的主人公簡直就是個破壞王,如果一不小心點個鼠标,面前的方塊就被他給砸了,我現在得把他手上的錘子給沒收了,否則我的成果一定全部被他全部破壞了。
下面我們打開Pycharm,就在我們上次編寫的程序上添加一句命令并執行:
mc.setting("world_immutable",True)
添加這個命令,可以幫助你保護珍貴的作品,使其免遭破壞。
三、使用變量傳送1、認識世界坐标請大家回憶一下,我們在scratch中是怎樣将一個角色從一個位置瞬移到另一個位置,所用的命令是“移到x,y”x,y是平面上某點的坐标。在minecraft中,世界是立體的,除了平面坐标外,我們還需要一個高度的坐标,這樣才能表示一個東西在空間上的位置,下面就讓我們來認識一下Minecraft中的坐标。Minecraft角色在世界中有一個位置(position),它是由x、y、z坐标構成的。字母y代表的是高度,x和z代表的是在水平面上的位置。我們可以把世界上每個整數坐标都想象成一個方塊,我們編程要做的事情就是改變這些方塊的性質。
我們可以按鍵盤上的F3鍵去查看玩家角色所在的位置。
2、将角色傳遞到某處
在Minecraft中有兩個命令可以用來傳送角色:
mc.player.setTilePos(x,y,z)
mc.player.setPos(x,y,z)
我們在Pycharm測試一下,我們分别設置x,y,z為10,110和12:
我們突然發現,我們到了一個黑乎乎什麼也看不見的地方,讓我們修改下坐标值。
這個時候,我們落在了一個跟剛才不太一樣的地方了。
mc.player.setTilePos(x,y,z)和mc.player.setPos(x,y,z)有什麼區别呢?mc.player.setTilePos(x,y,z)中的x,y,z必須是整數,而mc.player.setPos(x,y,z)中的x,y,z可以是浮點數,你可以看做是小數。x,y,z除了正數外,可以是負數。
為了不要反複寫兩個命令,我們可以先将x,y,z的值設置為三個變量,那麼我們以後需要修改角色位置的時候,隻要修改三個變量就可以了。
y不是100的原因是如果角色不在地面上,會自動落回地面,y就顯示的是地面的數值了。
3、使用時間模塊降低傳遞速度Python 會盡可能快地運行你的程序,但是你也可以人為地讓它減速。比如,讓它等待一段時間再繼續工作。如果想要在你的程序中用到 time(時間)模塊,你需要在程序的最上面加入下面這一行代碼:
import time
然後我們用time.sleep(時間)來控制時間暫停的長度。
4、添加注釋
為了讓我們能更好地理解程序的作用,我們經常需要在一段程序塊前面加上注釋,注釋的内容不會被執行,但是它可以很好地告訴我們程序的作用,當我們在很長時間不用這段程序的時候,再次看起來,也可以清楚地回憶起程序的作用。
注釋的寫法是
# 注釋内容
下面我們來編寫一個完整的python程序,用來移動遊戲角色,并給它取名為tour.py
#連接到 Minecraft
from mcpi.minecraft import Minecraft
mc = Minecraft.create()
import time
#設置x、y和z變量來表示坐标
x = 50
y = 88
Z = 100
#變換玩家的位置
mc.player.setTilePos(x,y,z)
#等待10秒
time.sleep(10)
#設置x、y和z變量來表示坐标
x = 200
y = 100
z = 400
#變換玩家的位置
mc.player.setTilePos(x,y,z)
我們發現,執行了tour.py後,角色在10秒後發生了移動。
你學到了什麼恭喜!你己經學會了編寫第一個python 程序來控制 Minecraft中玩家的位置了。你也已經認識了兩種全新的數據:整數和浮點數。你還學到了Minecraft Python 中兩個重要的 API 接口:setPos() 和 setTilePos()。将來你會慢慢了解如何在Minecraft 中快速搭建建築,使用數學運算的方法和函數來設定磚塊的擺放。
歡迎大家繼續跟着李老師學習用python玩Minecraft,我們下期見!
,