首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ComputperCraft 编程初步 教程二

今天继续介绍ComputerCraft的编程,以编写一个自动挖矿的机器人为本文目标。

挖矿机器人继续使用Mining Turtle

首先需要了解的是,每一种Mining Turtle一开始的能量(fuel)是零,因此不能接受任何指令,必须要提供提供煤矿,木材,或者Lava岩浆等能量。我们因为采用creative创意模式,所以就选择Lava即可,因为Lava桶能量最厉害,每一桶Lava是1000个能量。

编写一个function 用来检查Turtle的能量水平,如果低于一定值,需要给Turtle提供能量(Refuel)

local function checkFuel()

local f = turtle.getFuelLevel()

if f == 0 then

print("Turtle fuel level is "..f)

turtle.refuel()

else

print("Turtle fuel level is "..f)

end

end

当挖矿机器人有了能量之后,就可以开始挖矿了。

turtle.dig() --机器人向前面挖一个block

turtle.digDown() --机器人向下面挖一个block

turtle.down() --机器人向下移动一个block

通过循环使用这三行命令,机器人将向下挖出一个2*1 block 的 MineShaft

由于地下矿井黑暗处,有可能会有Mobs自动产生,所以一般来讲,每向下挖5个block,会在矿井上安置一个torch用来照明

local function putTorch()

turtle.select(16) ---选择机器人的储物空间第16个,在里面预先放满64个 Torch火炬

turtle.turnLeft() ---机器人向左转一次

turtle.dig() ---机器人向前方(已经左转)挖一个block

turtle.place() ---机器人放置火炬(第16Slot的物品)

turtle.turnRight() ---机器人向右转回,恢复原先面对的方向

end

预先设定向下挖的深度,比如暂时定为40个block,如果已经下挖到40个block,就安排机器人回到地面(初始位置)。

if (level >=40) then

print("Current Level is ".. level)

for i = 1, level+1 do

turtle.digUp() ---机器人向上挖一个block

turtle.up() ---机器人向上移动一个block

end

break ---当机器人回到地面后,跳出循环,结束当前任务

end

另外还需要检测机器人的能量情况,如果能量小于100,让机器人停止工作,回到地面

while true do

local fuel = turtle.getFuelLevel()

if fuel

for i = 1,40 do

turtle.digUp() ---机器人向上挖一个block

turtle.up() ---机器人向上移动一个block

if not turtle.detect() then --如果机器人周围四个方向的block都没有东西,说明机器人已经回到地面,并处于空中,停止向上移动,结束任务,否则继续向上移动。

turtle.turnLeft()

if not turtle.detect() then

turtle.turnLeft()

if not turtle.detect() then

turtle.turnLeft()

if not turtle.detect() then

break

end

end

end

end

end

break

当机器人回到地面后,向前移动三个block,继续重复挖矿动作,直到机器人最终能量耗尽。然后可以手动补充能量,再一次调用命令,继续挖矿等等。

本文程序已经上传到网络,可以通过使用以下命令,下载到你自己的Turtle 机器人里面

pastbin get tdB3YTZd AutoMining

需要指出,此程序还有很多可以完善的地方:

比如可以添加判断,让机器人只采集铁矿等贵重金属和稀有石头,其他的物体一概丢弃。

比如当机器人的 储物空间满了之后,可以将采集的物品放入事先预设好的chest储物箱里面。

比如不是垂直向下,而是阶梯性向下挖 。此时需要多一条命令(turtle.forward() )

还有复杂状况的处理,比如遇见lava和水如何处理等等

网上有很多关于如何建立自动挖矿的文章和视频,可以参考以下,加深理解。

https://www.youtube.com/watch?v=JX3lCq-U_Ug

http://www.computercraft.info/forums2/index.php?/topic/15292-213-john-strip-mining-turtle/

下一期,我们可以来学习一下如何建设自动伐木工厂,敬请期待。

大家可以通过以下方式支持我

1. 赞赏大叔我

3. 在公众号文章中留言互动

4. 在微信朋友圈和好友群转发文章

码字很辛苦,吸粉不容易,举手之劳,敬请关注。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180722G06JNT00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券