Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- CCTurtle 1.7
- -- Turtle command line moving controller
- --
- -- ex:
- -- turtleMove left forward left forward 2
- --
- -- author: nSun
- -- date july-2016
- local tArgs = {...}
- if tArgs==nil or #tArgs<1 or tArgs[1]=="help" then
- local usage=[[Usage:
- turtleMove <str:cmd> <num:rep> ...
- <cmd> list:
- -Moves: forward, back, up, down
- -Rotations: left, right, uTurn
- <rep>: optional
- repeat previous cmd
- ex:
- turtleMove left forward 2
- Turtle mimic "No" on invalid commands]]
- textutils.pagedPrint(usage)
- return
- end
- local i,j,cmd,n,skip=1,1,"",nil,false
- for i=1,#tArgs do
- if not skip then
- cmd=string.lower(tArgs[i])
- n=i<#tArgs and tonumber(tArgs[i+1]) or 1
- if cmd=="forward" then
- for j=1,n do
- if not turtle.forward() then
- return false
- end
- end
- elseif cmd=="back" then
- for j=1,n do
- if not turtle.back() then
- return false
- end
- end
- elseif cmd=="up" then
- for j=1,n do
- if not turtle.up() then
- return false
- end
- end
- elseif cmd=="down" then
- for j=1,n do
- if not turtle.down() then
- return false
- end
- end
- elseif cmd=="left" then
- for j=1,n do
- turtle.turnLeft()
- end
- elseif cmd=="right" then
- for j=1,n do
- turtle.turnRight()
- end
- elseif cmd=="uturn" then
- for j=1,n do
- turtle.turnRight()
- turtle.turnRight()
- end
- else
- for j=1,3 do
- turtle.turnLeft()
- turtle.turnRight()
- end
- end
- if n>1 then
- skip=true
- if tArgs[i+1]==nil then
- break
- end
- else
- skip=false
- end
- else
- skip=false
- end
- end
- return true
Advertisement
Add Comment
Please, Sign In to add comment