今天看到了一则可喜可贺的消息:长征五号遥三运载火箭在中国文昌航天发射场点火升空,与实践二十号卫星成功分离,任务取得圆满成功。 真是令人自豪,为这些辛苦工作的航天人喝彩。
不过,火箭发射似乎离我们普通人太远了,如果我们想体验一把亲自将火箭送上天的感觉怎么办呢?好像很难啊?没关系,Python有方法,现实世界里做不到,但是你可以在虚拟世界里实现。
《坎巴拉太空计划》就是一个能让你实现这个愿望的一款游戏。在这个游戏中,玩家拥有一支庞大的航天团队,能够造出你想要的任意航天器,你也可以驾驶航天器在坎巴拉星系中遨游,建立太空站。
更重要的是,它!支持!Python!
你可以使用Python来画你想要的航天器、设置警报、航天器之间的通讯、控制运行轨道、监控燃料量等等一系列功能,甚至能够改变游戏界面。
在Space Center API中,你可以读取作用在飞船上的重力、获得海拔高度、绕行轨道的纬度、参考系速度、控制游戏内部相机等等,几乎一切想读取的它都可以读取到。
1.安装
你可以通过pip安装这个项目:
pip install krpc
如果你还没有安装python,请看这篇文章:安装Python
注意,使用这个项目的前提是先下载好游戏。而且在运行脚本的时候,游戏必须在运行着,并与客户端保持连接。怎样才能和客户端连接呢?你还需要下载kRPC服务器插件:
https://github.com/krpc/krpc/releases/download/v0.4.8/krpc-0.4.8.zip
然后执行以下操作:
- 提取gamedata文件夹到您的KSP目录。
- 启动游戏。
- 这时候应该就会弹出服务器窗口
2.使用
运行游戏,并且服务器正常启动后,我们就可以开始尝试一些例子了。不过在这之前,Python脚本作为客户端还需要和服务器进行连接:
import krpc conn = krpc.connect(name='Hello World') vessel = conn.space_center.active_vessel print(vessel.name)
第二行连接服务器,第三行获得激活的飞行器、第四行打印飞行器名字:
你还可以尝试一些别的API,比如下面这个例子,能够获得飞行棋相对于参照物(行星)的速度:
import krpc, time conn = krpc.connect(name='Surface speed') vessel = conn.space_center.active_vessel while True: velocity = vessel.flight(vessel.orbit.body.reference_frame).velocity print('Surface velocity = (%.1f, %.1f, %.1f)' % velocity) speed = vessel.flight(vessel.orbit.body.reference_frame).speed print('Surface speed = %.1f m/s' % speed) time.sleep(1)
如果你们感兴趣,推荐先下载游戏并试玩,大致摸清楚游戏的玩法后,开始使用Python来进行编程游戏。说实话,这个游戏太适合用来教小孩子了。
Python和游戏之间详细的API都在这里可以找得到:
http://krpc.github.io/krpc/python.html
我们的文章到此就结束啦,如果你希望我们今天的Python 教程,请持续关注我们,如果对你有帮助,麻烦在下面点一个赞/在看哦
Python实用宝典 (pythondict.com)
不只是一个宝典
欢迎关注公众号:Python实用宝典