Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Awake
- print("Mining server awake: Hello World!")
- -- Setup wireless
- local modemSide = "right"
- local modem = peripheral.wrap(modemSide)
- -- 5 Server -> Client
- -- 6 Client -> Server
- modem.open(5)
- modem.open(6)
- print("Channel 5 and 6 are open")
- -- Setup receiving wireless messages
- function WaitForMessage(messageCompare)
- while true do
- local
- event,
- eventModemSide,
- senderChannel,
- replyChannel,
- message,
- senderDistance =
- os.pullEvent(
- "modem_message"
- )
- print("Message received: " + message)
- if(message == messageCompare) then
- break
- end
- end
- end
- -- Setup sending wireless messages
- function SendMessage(message)
- modem.transmit(5, 6, message)
- end
- -- Get turtle amount from users
- print("How many turtles are mining? >>")
- local desiredTurtleCount = read()
- -- Get cycle amount from users
- print("How many cycles should they mine for? >>")
- local desiredCycleCount = read()
- -- Send awake signal
- print("Sending awake signal to all turtles...")
- print(5)
- os.sleep(1)
- print(4)
- os.sleep(1)
- print(3)
- os.sleep(1)
- print(2)
- os.sleep(1)
- print(1)
- os.sleep(1)
- SendMessage("_ServerAwake")
- -- Wait for all turtles to register
- -- Accept and continue from user
- print("Waiting for turtles to register...")
- local turtleCount = 0
- while true do
- WaitForMessage("_TurtleRegistered")
- turtleCount = turtleCount + 1
- print("Turtle registered. Count is " + turtleCount)
- if(turtleCount == desiredTurtleCount) then break end
- end
- -- Begin when user is ready
- print("Press any key when ready to begin >>")
- read()
- -- Begin managing mine operations
- print("Mining...")
- local readyCount = 0
- local cycleCount = 1
- while true do
- print("Starting mine cycle #" + cycleCount)
- SendMessage("_StartNextCycle")
- print("Waiting for turtles to be ready for next cycle...")
- readyCount = 0
- while true do
- WaitForMessage("_ReadyForNextCycle")
- readyCount = readyCount + 1
- print("A turtle is ready. Ready count is " + readyCount)
- if(readyCount == turtleCount) then
- print("All turtles ready")
- break
- end
- end
- cycleCount = cycleCount + 1
- if(cycleCount == desiredCycleCount) then
- print("All cycle complete")
- break
- end
- print("")
- end
- -- Done
- print("Goodbye >>")
- read()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement