Gang = 0
Tiefe = 0
Hoehe = 0
GangDiff = 0
TiefeDiff = 0
HoeheDiff = 0
Active = false
TgtGang = 5
TgtTiefe = 1
TgtHoehe = 3
--Gets the differential between the current Pos and
--the Target Pos
function getdiffG( Gang, TgtGang)
GangDiff = TgtGang- Gang
return GangDiff
end
--""
function getdiffT( Tiefe, TgtTiefe)
TiefeDiff = TgtTiefe- Tiefe
return TiefeDiff
end
--""
function getdiffH( Hoehe, TgtHoehe)
HoeheDiff = TgtHoehe- Hoehe
return HoeheDiff
end
--Makes the turtle move to the Target Pos
function move( GangDiff, TiefeDiff, HoeheDiff, TgtGang)
turtle. turnRight( )
for i= 1 , GangDiff do
turtle. forward( )
turtle. forward( )
turtle. forward( )
end
turtle. turnLeft( )
for i= 1 , TiefeDiff do
turtle. forward( )
end
for i= 1 , HoeheDiff do
turtle. up( )
end
if TgtGang % 2 == 0 then
turtle. turnLeft( )
else
turtle. turnRight( )
end
return pos
end
--Returns the turtle to the starting position and rotation
function returner( TgtGang, TgtTiefe, TgtHoehe)
if TgtGang % 2 == 0 then
turtle. turnLeft( )
else
turtle. turnRight( )
end
for i= 1 , TgtHoehe do
turtle. down( )
end
for i= 1 , TgtTiefe do
turtle. forward( )
end
turtle. turnRight( )
for i= 1 , TgtGang do
turtle. forward( )
turtle. forward( )
turtle. forward( )
end
end
--Performs 1 Task and returns if it succeeded
function task( Gang, Tiefe, Hoehe, TgtGang, TgtTiefe, TgtHoehe, Quantity)
getdiffG( Gang, TgtGang)
getdiffT( Tiefe, TgtTiefe)
getdiffH( Hoehe, TgtHoehe)
move( GangDiff, TiefeDiff, HoeheDiff, TgtGang)
returner( TgtGang, TgtHoehe, TgtTiefe)
return done
end
task( )
R2FuZyA9IDAKVGllZmUgPSAwCkhvZWhlID0gMApHYW5nRGlmZiA9IDAKVGllZmVEaWZmID0gMApIb2VoZURpZmYgPSAwCkFjdGl2ZSA9IGZhbHNlClRndEdhbmcgPSA1ClRndFRpZWZlID0gMQpUZ3RIb2VoZSA9IDMKLS1HZXRzIHRoZSBkaWZmZXJlbnRpYWwgYmV0d2VlbiB0aGUgY3VycmVudCBQb3MgYW5kCi0tdGhlIFRhcmdldCBQb3MKZnVuY3Rpb24gZ2V0ZGlmZkcoR2FuZywgVGd0R2FuZykKR2FuZ0RpZmYgPSBUZ3RHYW5nLUdhbmcKcmV0dXJuIEdhbmdEaWZmCmVuZAotLSIiCmZ1bmN0aW9uIGdldGRpZmZUKFRpZWZlLCBUZ3RUaWVmZSkKVGllZmVEaWZmID0gVGd0VGllZmUtVGllZmUKcmV0dXJuIFRpZWZlRGlmZgplbmQKLS0iIgpmdW5jdGlvbiBnZXRkaWZmSChIb2VoZSwgVGd0SG9laGUpCkhvZWhlRGlmZiA9IFRndEhvZWhlLUhvZWhlCnJldHVybiBIb2VoZURpZmYKZW5kCi0tTWFrZXMgdGhlIHR1cnRsZSBtb3ZlIHRvIHRoZSBUYXJnZXQgUG9zCmZ1bmN0aW9uIG1vdmUoR2FuZ0RpZmYsIFRpZWZlRGlmZiwgSG9laGVEaWZmLCBUZ3RHYW5nKQp0dXJ0bGUudHVyblJpZ2h0KCkKZm9yIGk9MSxHYW5nRGlmZiBkbwp0dXJ0bGUuZm9yd2FyZCgpCnR1cnRsZS5mb3J3YXJkKCkKdHVydGxlLmZvcndhcmQoKQplbmQKdHVydGxlLnR1cm5MZWZ0KCkKZm9yIGk9MSxUaWVmZURpZmYgZG8KdHVydGxlLmZvcndhcmQoKQplbmQKZm9yIGk9MSxIb2VoZURpZmYgZG8KdHVydGxlLnVwKCkKZW5kCmlmIFRndEdhbmcgJSAyID09IDAgdGhlbgp0dXJ0bGUudHVybkxlZnQoKQplbHNlCnR1cnRsZS50dXJuUmlnaHQoKQplbmQKcmV0dXJuIHBvcwplbmQKLS1SZXR1cm5zIHRoZSB0dXJ0bGUgdG8gdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIGFuZCByb3RhdGlvbgpmdW5jdGlvbiByZXR1cm5lcihUZ3RHYW5nLCBUZ3RUaWVmZSwgVGd0SG9laGUpCiBpZiBUZ3RHYW5nICUgMiA9PSAwIHRoZW4KIHR1cnRsZS50dXJuTGVmdCgpCiBlbHNlCiB0dXJ0bGUudHVyblJpZ2h0KCkKIGVuZAogZm9yIGk9MSxUZ3RIb2VoZSBkbwogdHVydGxlLmRvd24oKQogZW5kCiBmb3IgaT0xLFRndFRpZWZlIGRvCiB0dXJ0bGUuZm9yd2FyZCgpCiBlbmQKIHR1cnRsZS50dXJuUmlnaHQoKQogZm9yIGk9MSxUZ3RHYW5nIGRvCiB0dXJ0bGUuZm9yd2FyZCgpCiB0dXJ0bGUuZm9yd2FyZCgpCiB0dXJ0bGUuZm9yd2FyZCgpCiBlbmQKZW5kCi0tUGVyZm9ybXMgMSBUYXNrIGFuZCByZXR1cm5zIGlmIGl0IHN1Y2NlZWRlZApmdW5jdGlvbiB0YXNrKEdhbmcsIFRpZWZlLCBIb2VoZSwgVGd0R2FuZywgVGd0VGllZmUsIFRndEhvZWhlLCBRdWFudGl0eSkKZ2V0ZGlmZkcoR2FuZywgVGd0R2FuZykKZ2V0ZGlmZlQoVGllZmUsIFRndFRpZWZlKQpnZXRkaWZmSChIb2VoZSwgVGd0SG9laGUpCm1vdmUoR2FuZ0RpZmYsIFRpZWZlRGlmZiwgSG9laGVEaWZmLCBUZ3RHYW5nKQpyZXR1cm5lcihUZ3RHYW5nLCBUZ3RIb2VoZSwgVGd0VGllZmUpCnJldHVybiBkb25lCmVuZAp0YXNrKCk=