CC-Tweaked/src/main/resources/assets/computercraft/lua/rom/programs/turtle/dance.lua

115 lines
2.3 KiB
Lua

if not turtle then
printError("Requires a Turtle")
end
local tMoves = {
function()
turtle.up()
turtle.down()
end,
function()
turtle.up()
turtle.turnLeft()
turtle.turnLeft()
turtle.turnLeft()
turtle.turnLeft()
turtle.down()
end,
function()
turtle.up()
turtle.turnRight()
turtle.turnRight()
turtle.turnRight()
turtle.turnRight()
turtle.down()
end,
function()
turtle.turnLeft()
turtle.turnLeft()
turtle.turnLeft()
turtle.turnLeft()
end,
function()
turtle.turnRight()
turtle.turnRight()
turtle.turnRight()
turtle.turnRight()
end,
function()
turtle.turnLeft()
turtle.back()
turtle.back()
turtle.turnRight()
turtle.turnRight()
turtle.back()
turtle.back()
turtle.turnLeft()
end,
function()
turtle.turnRight()
turtle.back()
turtle.back()
turtle.turnLeft()
turtle.turnLeft()
turtle.back()
turtle.back()
turtle.turnRight()
end,
function()
turtle.back()
turtle.turnLeft()
turtle.back()
turtle.turnLeft()
turtle.back()
turtle.turnLeft()
turtle.back()
turtle.turnLeft()
end,
function()
turtle.back()
turtle.turnRight()
turtle.back()
turtle.turnRight()
turtle.back()
turtle.turnRight()
turtle.back()
turtle.turnRight()
end,
}
textutils.slowWrite("Preparing to get down.")
textutils.slowPrint("..", 0.75)
local sAudio = nil
for _, sName in pairs(peripheral.getNames()) do
if disk.hasAudio(sName) then
disk.playAudio(sName)
print("Jamming to " .. disk.getAudioTitle(sName))
sAudio = sName
break
end
end
print("Press any key to stop the groove")
parallel.waitForAny(
function()
while true do
local _, key = os.pullEvent("key")
if key ~= keys.escape then
return
end
end
end,
function()
while true do
local fnMove = tMoves[math.random(1, #tMoves)]
fnMove()
end
end
)
if sAudio then
disk.stopAudio(sAudio)
end