タートルの右回りの移動
タートルのAPIはこちらで確認できます
一段下にタートルが下がるプログラム
まずタートルは「1」のブロックを壊し一段下に行きます。露天掘りの場合は、下方向に一段ずつ下がりますので、一面を掘りぬく最初のタートルの動作は、必ずこの動きになります。
--1.のプログラム
turtle.digDown()--下を掘る
turtle.down()--下に行く
--1.のプログラムの終わり
--2.のプログラム
turtle.dig()--前を壊す
turtle.forward()--前に行く
end--ループTATEの終わり
turtle.turnRight()--9の方向を向く
turtle.dig()--9のブロックを壊す
turtle.forward()--9に行く
turtle.turnRight()--10の方向を向く
--2.のプログラムの終わり
「10」から「16」までブロックを壊しながら進み「16」の位置で右を向いて「17」のブロックを壊し「17」に進み、右を向き「18」の方向を向きます。
--3.のプログラム
for TATE=2,8 do--前を壊す、前に行くを7回繰り返すループTATE
turtle.dig()--前を壊す
turtle.forward()--前に行く
end--ループTATEの終わり
turtle.turnLeft()--17の方向を向く
turtle.dig()--17のブロックを壊す
turtle.dig()--前を壊す
turtle.forward()--前に行く
end--ループTATEの終わり
turtle.turnLeft()--17の方向を向く
turtle.dig()--17のブロックを壊す
turtle.forward()--17に行く
turtle.turnLeft()--18の方向を向く
--3.のプログラムの終わり
作成したプログラムをつなげます
--今回のプログラム
--1.のプログラム
turtle.digDown()--下を掘る
turtle.down()--下に行く
--1.のプログラムの終わり
--2.のプログラム
turtle.dig()--前を壊す
turtle.forward()--前に行く
end--ループTATEの終わり
turtle.turnRight()--9の方向を向く
turtle.dig()--9のブロックを壊す
turtle.forward()--9に行く
turtle.turnRight()--10の方向を向く
--2.のプログラムの終わり
--3.のプログラム
for TATE=2,8 do--前を壊す、前に行くを7回繰り返すループTATE
turtle.dig()--前を壊す
turtle.forward()--前に行く
end--ループTATEの終わり
turtle.turnLeft()--17の方向を向く
turtle.dig()--17のブロックを壊す
turtle.dig()--前を壊す
turtle.forward()--前に行く
end--ループTATEの終わり
turtle.turnLeft()--17の方向を向く
turtle.dig()--17のブロックを壊す
turtle.forward()--17に行く
turtle.turnLeft()--18の方向を向く
--3.のプログラムの終わり
--今回のプログラムの終わり
1.のプログラム以外を4回繰り返したら一面を掘りく形に近づきます。実際にタートルを動かしてみると「 8x8=64+1」のサイズを掘りぬきました。1ブロック分を余分に掘ってしまいました。
3.のプログラムの最後左回りに列を移動する以下の部分が不要となります。
--今回のプログラムの終わり
タートルは、Bの列を掘ったあとCの列に移動して「17」の位置で停止
1.のプログラム以外を4回繰り返したら一面を掘りく形に近づきます。実際にタートルを動かしてみると「 8x8=64+1」のサイズを掘りぬきました。1ブロック分を余分に掘ってしまいました。
3.のプログラムの最後左回りに列を移動する以下の部分が不要となります。
turtle.turnLeft()--17の方向を向く
turtle.dig()--17のブロックを壊す
turtle.dig()--17のブロックを壊す
turtle.forward()--17に行く
0 件のコメント:
コメントを投稿