非重点 展示章
大家好 上一个影片我们讲完while true 这种无限迴圈
你记不记得我说如果没有写break是出不来的
我们教完while true这种无限迴圈之后 这个影片给大家看一个蛮有趣的应用
我们使用Python的程式码
来操作Minecraft这个知名的游戏
这个游戏很有名
那我自己本身是没有玩
但只是之前我在看一些Python跟Minecraft的一些结合的应用而已
那刚好蛮有趣的
之前我写了一个while true的迴圈 来达到一个蛮好笑的功能
我现在直接执行给你们看
所以这个你也可以想像成是 一个算是外挂吧
就是说我们的Python程式在操作游戏
那我们就先建立一个新的世界
好 那么进到这个新的世界之后
我给你看这一小段程式码 可以做什么事情 才九行
这九行就可以来干扰这个游戏了
先回到游戏 好
我现在在一个空无一有的世界
好 那我们来执行这个程式码
执行之后 你看它没有中止 对不对
通常我们执行程式是不是会立刻执行完
他现在在这边闪 还在执行的意思
因为我们现在卡在这个while true无限迴圈
那它卡在这个无限迴圈裡会有什么功能
它会不断地产生炸弹出来在这个世界裡面
我们把它引爆看看好了
快走快走快走 后退
我现在一直倒退走
它这样会一直连锁反应
炸到我这边来
我给你们看一下这一段程式码
稍微跟你们解释一下这个程式码好了
while true这个迴圈裡面的第一行
pos=position=位置
我们透过这个部分
来拿到使用者的位置 玩家的位置 我们在那个世界裡面的位置
那这个第八行
set block=就创作出一个block出来
我对minecraft没有很了解
可是它裡面每一个东西好像都是一个格子 一个正方形 就是一个block
那要创作在哪裡 我们创作在我们人的位置
pos.x pos.y pos.z
因为三轴的
它3D的 所以有xyz
那我要创作出46e这个物件
那它有一个表格 我以前有看过那个表格 46e就是炸弹
所以刚刚我才会做出一个炸弹
所以如果这边改成45 44什么的 它会创造出不同的东西这样子
好 那这个time sleep 1 就是
让迴圈等待一秒
Sleep就是睡觉的意思
那这个time是上面我们载入进来的
import进来的time模组
time模组就是在python标准函式库裡面的
所以我们不用下载安装
那这个time sleep
这一行程式码还蛮常看到的
就是让程式码暂停 暂停一秒钟
所以我们这边改成5秒好了
那这样炸弹就会很久才会出来一次
那我们现在要中止掉这个程式
我们就Control+C强制中止
好 我们再执行一次
好 那现在炸弹应该会每五秒出来一次
如果那不想要它再产生
因为我们现在是无限迴圈 所以我没办法逃出去 我没办法终止它
我们变成说唯一中止的方法 就是要Control+C 把我这个外挂停掉 Control+C停掉 有没有
keyboard interrupt键盘阻断
好 那再回到游戏
这样它就不会再产生炸弹了
你看我走路 它就不会再那个产生炸弹了
只是给大家看一下这个蛮有趣的
那如果你对使用Python来
操作Minecraft有兴趣的人
有一个教学(Python Coding for Minecraft)是教你怎么用
不过这是英文的
就是教你怎么来安装那些模组
有一些套件要安装 好像还不容易
我印象中我操作起来当时没有很容易
这个forge有玩Minecraft好像都知道
那这个网址我会贴在这个影片的延伸资源
所以有兴趣的人可以来问
那如果底下这些安装的部分 你有看不懂或是执行起来有问题的 你也可以到发问讨论区那裡发文
我再告诉你怎么做 好不好