Implement vertical movement + fix accidental recursion when unstocking/refueling
This commit is contained in:
@ -26,21 +26,24 @@ end
|
||||
function TestingController:TestRelativeMovementWithRelativeRotation()
|
||||
print("Testing relative movement with relative rotation...")
|
||||
|
||||
-- N: BotCenter
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnRelative(1) -- E: TopCenter
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnRelative(2) -- W: TopRight
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnRelative(10) -- E: TopCenter
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnRelative(-3) -- S: TopRight
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnRelative(1) -- W: BotRight
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnRelative(1) -- N: BotCenter
|
||||
-- N: BackCenter (Center)
|
||||
self.controller:MoveForward(3)
|
||||
self.controller:TurnRelative(1) -- E: FrontCenter (Center)
|
||||
self.controller:MoveForward(3)
|
||||
self.controller:TurnRelative(2) -- W: FrontRight (Center)
|
||||
self.controller:MoveVertical(3)
|
||||
self.controller:TurnRelative(8) -- W: FrontRight (Top)
|
||||
self.controller:MoveForward(3)
|
||||
self.controller:TurnRelative(3) -- S: FrontCenter (Top)
|
||||
self.controller:MoveForward(3)
|
||||
self.controller:TurnRelative(9) -- W: BackCenter (Top)
|
||||
self.controller:MoveVertical(-3)
|
||||
self.controller:TurnRelative(1) -- N: BackCenter (Center)
|
||||
|
||||
print("The turtle should be in its original location.")
|
||||
print(("The turtle has internal position (%d, %d, %d) and internal direction %d"):format(
|
||||
self.controller.position.x, self.controller.position.y, self.controller.position.z, self.controller.position.dir
|
||||
))
|
||||
print("Press Enter to continue")
|
||||
_ = io.read()
|
||||
end
|
||||
@ -49,21 +52,24 @@ end
|
||||
function TestingController:TestRelativeMovementWithAbsoluteRotation()
|
||||
print("Testing relative movement with absolute rotation...")
|
||||
|
||||
-- N: BotCenter
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnToDirection(Direction.EAST) -- E: TopCenter
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnToDirection(Direction.WEST) -- W: TopRight
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnToDirection(Direction.EAST) -- E: TopCenter
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnToDirection(Direction.SOUTH) -- S: TopRight
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnToDirection(Direction.WEST) -- W: BotRight
|
||||
self.controller:MoveRelative(3)
|
||||
self.controller:TurnToDirection(Direction.NORTH) -- N: BotCenter
|
||||
-- N: BackCenter (Center)
|
||||
self.controller:MoveForward(3)
|
||||
self.controller:TurnToDirection(Direction.EAST) -- E: FrontCenter (Center)
|
||||
self.controller:MoveForward(3)
|
||||
self.controller:TurnToDirection(Direction.WEST) -- W: FrontRight (Center)
|
||||
self.controller:MoveVertical(3)
|
||||
self.controller:TurnToDirection(Direction.WEST) -- W: FrontRight (Top)
|
||||
self.controller:MoveForward(3)
|
||||
self.controller:TurnToDirection(Direction.SOUTH) -- S: FrontCenter (Top)
|
||||
self.controller:MoveForward(3)
|
||||
self.controller:TurnToDirection(Direction.WEST) -- W: BackCenter (Top)
|
||||
self.controller:MoveVertical(-3)
|
||||
self.controller:TurnToDirection(Direction.NORTH) -- N: BackCenter (Center)
|
||||
|
||||
print("The turtle should be in its original location.")
|
||||
print(("The turtle has internal position (%d, %d, %d) and internal direction %d"):format(
|
||||
self.controller.position.x, self.controller.position.y, self.controller.position.z, self.controller.position.dir
|
||||
))
|
||||
print("Press Enter to continue")
|
||||
_ = io.read()
|
||||
end
|
||||
@ -72,20 +78,18 @@ end
|
||||
function TestingController:TestAbsoluteMovementWithoutStack()
|
||||
print("Testing absolute movement without stack...")
|
||||
|
||||
-- N: BotCenter
|
||||
self.controller:MoveToPosition(0, 0, 3, Direction.EAST) -- E: TopCenter
|
||||
_ = io.read()
|
||||
self.controller:MoveToPosition(3, 0, 3, Direction.WEST) -- W: TopRight
|
||||
_ = io.read()
|
||||
self.controller:MoveToPosition(0, 0, 3, Direction.EAST) -- E: TopCenter
|
||||
_ = io.read()
|
||||
self.controller:MoveToPosition(3, 0, 3, Direction.SOUTH) -- S: TopRight
|
||||
_ = io.read()
|
||||
self.controller:MoveToPosition(3, 0, 0, Direction.WEST) -- W: BotRight
|
||||
_ = io.read()
|
||||
self.controller:MoveToPosition(0, 0, 0, Direction.NORTH) -- N: BotCenter
|
||||
-- N: BackCenter (Center)
|
||||
self.controller:MoveToPosition(0, 0, 3, Direction.EAST) -- E: FrontCenter (Center)
|
||||
self.controller:MoveToPosition(3, 0, 3, Direction.WEST) -- W: FrontRight (Center)
|
||||
self.controller:MoveToPosition(3, 3, 3, Direction.WEST) -- W: FrontRight (Top)
|
||||
self.controller:MoveToPosition(0, 3, 3, Direction.SOUTH) -- S: FrontCenter (Top)
|
||||
self.controller:MoveToPosition(0, 3, 0, Direction.WEST) -- W: BackCenter (Top)
|
||||
self.controller:MoveToPosition(0, 0, 0, Direction.NORTH) -- N: BackCenter (Center)
|
||||
|
||||
print("The turtle should be in its original location.")
|
||||
print(("The turtle has internal position (%d, %d, %d) and internal direction %d"):format(
|
||||
self.controller.position.x, self.controller.position.y, self.controller.position.z, self.controller.position.dir
|
||||
))
|
||||
print("Press Enter to continue")
|
||||
_ = io.read()
|
||||
end
|
||||
@ -94,16 +98,16 @@ end
|
||||
function TestingController:TestAbsoluteMovementWithStack()
|
||||
print("Testing absolute movement with stack...")
|
||||
|
||||
-- N: BotCenter
|
||||
self.controller:MoveToPosition(0, 0, 3, Direction.EAST) -- E: TopCenter
|
||||
_ = io.read()
|
||||
self.controller:MoveBack() -- N: BotCenter
|
||||
_ = io.read()
|
||||
self.controller:MoveToPosition(3, 0, 3, Direction.WEST) -- W: TopRight
|
||||
_ = io.read()
|
||||
self.controller:MoveBack() -- N: BotCenter
|
||||
-- N: BotCenter (Center)
|
||||
self.controller:MoveToPosition(0, 0, 3, Direction.EAST) -- E: TopCenter (Center)
|
||||
self.controller:MoveBack() -- N: BotCenter (Center)
|
||||
self.controller:MoveToPosition(3, 3, 3, Direction.WEST) -- W: TopRight (Top)
|
||||
self.controller:MoveBack() -- N: BotCenter (Center)
|
||||
|
||||
print("The turtle should be in its original location.")
|
||||
print(("The turtle has internal position (%d, %d, %d) and internal direction %d"):format(
|
||||
self.controller.position.x, self.controller.position.y, self.controller.position.z, self.controller.position.dir
|
||||
))
|
||||
print("Press Enter to continue")
|
||||
_ = io.read()
|
||||
end
|
||||
@ -111,12 +115,13 @@ end
|
||||
|
||||
function TestingController:TestUnstocking()
|
||||
print("Testing inventory unloading...")
|
||||
print("Please fill multiple inventory slots with items.")
|
||||
_ = io.read()
|
||||
|
||||
self.controller:MoveToPosition(3, 0, 3, Direction.WEST)
|
||||
print("Please fill the entire inventory with items.")
|
||||
print("Press Enter to continue")
|
||||
_ = io.read()
|
||||
self.controller:UnstockIfFull(true)
|
||||
print("Press Enter to continue")
|
||||
_ = io.read()
|
||||
self.controller:MoveBack()
|
||||
|
||||
@ -128,12 +133,13 @@ end
|
||||
|
||||
function TestingController:TestRefueling()
|
||||
print("Testing refueling...")
|
||||
print("Please fill multiple inventory slots with items.")
|
||||
_ = io.read()
|
||||
|
||||
self.controller:MoveToPosition(3, 0, 3, Direction.WEST)
|
||||
print("Please fill multiple inventory slots with items.")
|
||||
print("Press Enter to continue")
|
||||
_ = io.read()
|
||||
self.controller:RefuelIfEmpty(true)
|
||||
print("Press Enter to continue")
|
||||
_ = io.read()
|
||||
self.controller:MoveBack()
|
||||
|
||||
@ -150,7 +156,7 @@ end
|
||||
|
||||
function TestingController:Run()
|
||||
self.controller:Configure()
|
||||
self.controller:DisableMining()
|
||||
self.controller:DisableMiningForward()
|
||||
|
||||
print("There are multiple tests available:")
|
||||
print("1: Relative movement with relative rotation")
|
||||
|
||||
Reference in New Issue
Block a user