Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- quarry - a simple quarry program
- -- Version: 1.0.0
- -- by @markman4897
- -- Requires MPR library.
- -- TODO:
- -- - add more ways to understand arguments in
- -- quarry function so it recognises
- -- . xzy lengths
- -- . 2 xz coords and y length
- -- . 2 xzy choords
- --
- -- - add support for arguments to run this
- -- program
- -- =========
- -- Variables
- -- =========
- -- Load MPR library
- os.loadAPI("MPR")
- -- Overwrite starting coords from MPR
- MPR.set("x",109)
- MPR.set("z",1021)
- MPR.set("y",93)
- MPR.set("dir",1)
- -- Set quarry size
- a = 5
- b = 1
- c = 2
- -- =========
- -- Functions
- -- =========
- -- Quarry function
- function quarry(a,b,c)
- -- understand data
- line = a
- left = b
- depth = c
- -- depth loop
- for i=1,depth,1 do
- -- if first time, dont dig one down
- if i~= 1 then
- MPR.mine("down")
- end
- -- remember direction for turning
- d = MPR.get("dir")
- -- layer loop
- for ii=1,left,1 do
- MPR.mine("forw",a-1)
- if ii ~= left then
- if MPR.get("dir") == d then
- MPR.turn("left")
- MPR.mine("forw")
- MPR.turn("left")
- else
- MPR.turn("right")
- MPR.mine("forw")
- MPR.turn("right")
- end
- end
- end
- -- turn so walls are on left and back
- if MPR.get("dir") == d then
- MPR.turn("left",2)
- else
- MPR.turn("left")
- end
- end
- return true
- end
- -- ============
- -- Main program
- -- ============
- -- Run the program
- quarry(a,b,c)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement