36 lines
1.5 KiB
Lua
36 lines
1.5 KiB
Lua
local TurtleTestingController = require("controller.turtle_testing_controller")
|
|
local AudioTestingController = require("controller.audio_testing_controller")
|
|
local ExcavationController = require("controller.excavation_controller")
|
|
local AudioController = require("controller.audio_controller")
|
|
|
|
local controllers = {
|
|
TurtleTestingController:Create(),
|
|
AudioTestingController:Create(),
|
|
ExcavationController:Create(),
|
|
AudioController:Create(),
|
|
}
|
|
|
|
print("Multiple controllers are available:")
|
|
print("1: Turtle Testing Mode")
|
|
print("2: Audio Testing Mode")
|
|
print("3: Volume Excavation")
|
|
print("4: Play Bangarang")
|
|
|
|
local choice = 0
|
|
while choice < 1 or choice > #controllers do
|
|
print("Choose a controller by entering its number:")
|
|
choice = tonumber(io.read()) or 0
|
|
end
|
|
|
|
controllers[choice]:Run()
|
|
|
|
-- TODO: Test if there's a chest when dropping/sucking/mining (don't mine chests!)
|
|
-- TODO: Add controller to build rooms with walls of a specified material
|
|
-- TODO: Add configurable trash_list with items that won't be picked up
|
|
-- TODO: When refueling but chest is missing, wait there until the user puts a chest with fuel
|
|
-- TODO: Add emergency return routine if can't move (e.g. try to move in different directions first)
|
|
-- TODO: Add shortcuts for the volume excavation:
|
|
-- - Tunnel forward 3x2 or 3x3 with specified length
|
|
-- - Excavate downwards (quarry) in a square, specify side length
|
|
-- TODO: Add a stair building mode (specify side length, min 2x2)
|