天天看點

慶祝胖五發射成功, 來用Python發射火箭!

慶祝胖五發射成功, 來用Python發射火箭!

今天看到了一則可喜可賀的消息:長征五号遙三運載火箭在中國文昌航天發射場點火升空,與實踐二十号衛星成功分離,任務取得圓滿成功。 真是令人自豪,為這些辛苦工作的航天人喝彩。

不過,火箭發射似乎離我們普通人太遠了,如果我們想體驗一把親自将火箭送上天的感覺怎麼辦呢?好像很難啊?沒關系,Python有方法,現實世界裡做不到,但是你可以在虛拟世界裡實作。

《坎巴拉太空計劃》就是一個能讓你實作這個願望的一款遊戲。在這個遊戲中,玩家擁有一支龐大的航天團隊,能夠造出你想要的任意航天器,你也可以駕駛航天器在坎巴拉星系中遨遊,建立太空站。

慶祝胖五發射成功, 來用Python發射火箭!

更重要的是,它!支援!Python!

你可以使用Python來畫你想要的航天器、設定警報、航天器之間的通訊、控制運作軌道、監控燃料量等等一系列功能,甚至能夠改變遊戲界面。

在Space Center API中,你可以讀取作用在飛船上的重力、獲得海拔高度、繞行軌道的緯度、參考系速度、控制遊戲内部相機等等,幾乎一切想讀取的它都可以讀取到。

​1.安裝​

你可以通過pip安裝這個項目:

​​pip install krpc​​​​​

如果你還沒有安裝python,請看這篇文章:​​安裝Python​​

注意,使用這個項目的前提是先下載下傳好遊戲。而且在運作腳本的時候,遊戲必須在運作着,并與用戶端保持連接配接。怎樣才能和用戶端連接配接呢?你還需要下載下傳kRPC伺服器插件:

​​

​​

​​

并執行以下操作:

​1.提取gamedata檔案夾到您的KSP目錄。​

​2.啟動遊戲。​

​3.這時候應該就會彈出伺服器視窗如下​

慶祝胖五發射成功, 來用Python發射火箭!

​2.使用​

運作遊戲,并且伺服器正常啟動後,我們就可以開始嘗試一些例子了。不過在這之前,Python腳本作為用戶端還需要和伺服器進行連接配接:

import krpcconn = krpc.connect(name='Hello World')vessel = conn.space_center.active_vesselprint(vessel.name)      

第二行連接配接伺服器,第三行獲得激活的飛行器、第四行列印飛行器名字:

慶祝胖五發射成功, 來用Python發射火箭!

你還可以嘗試一些别的API,比如下面這個例子,能夠獲得飛行棋相對于參照物(行星)的速度:

慶祝胖五發射成功, 來用Python發射火箭!

真的,能夠做的東西太多了。如果你們感興趣,推薦先下載下傳遊戲并試玩,大緻摸清楚遊戲的玩法後,開始使用Python來進行程式設計遊戲。說實話,這個遊戲太适合用來教小孩子了。

​Python和遊戲之間詳細的API都在這裡可以找得到:

​​​​​​​b.io/krpc/python.html​

如果你喜歡今天的Python 教程,請持續關注Python實用寶典

Python實用寶典 (pythondict.com)