Razara

chess Knight

May 19th, 2013
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.96 KB | None | 0 0
  1. --TODO: add return to start
  2.  
  3. tArgs = {...}
  4. color = tArgs[1]
  5. function select(i)
  6.     turtle.select(i+ (color == "white" and 0 or 6))
  7. end
  8.  
  9. function buildBase()
  10.         select(1)
  11.         for y = 1,5 do
  12.                 for x = 1,4 do
  13.                                         turtle.placeDown()
  14.                                         turtle.forward()
  15.                 end
  16.             if y < 5 then
  17.                 if y%2 ~= 0 then
  18.                                         turtle.turnRight()
  19.                                         turtle.placeDown()
  20.                                         turtle.forward()
  21.                                         turtle.turnRight()
  22.                 else
  23.                                         turtle.turnLeft()
  24.                                         turtle.placeDown()
  25.                                         turtle.forward()
  26.                                         turtle.turnLeft()
  27.                 end
  28.                         end
  29.         end
  30.         turtle.placeDown()
  31. end
  32.  
  33. function buildMid()
  34.     turtle.back()
  35.     turtle.back()
  36.     turtle.turnLeft()
  37.     turtle.forward()
  38.     turtle.forward()
  39.    
  40.     for i = 1,5 do
  41.         turtle.up()
  42.         turtle.placeDown()
  43.     end
  44.    
  45.     if color == "white" then
  46.         turtle.turnRight()
  47.     else
  48.         turtle.turnLeft()
  49.     end
  50.  
  51.     turtle.forward()
  52.     turtle.placeDown()
  53.     turtle.forward()
  54.     turtle.placeDown()
  55.     turtle.back()
  56.     turtle.up()
  57.     select(3)
  58.     turtle.placeDown()
  59.     turtle.back()
  60.     turtle.down()
  61.  
  62.     if color ~= "white" then
  63.         turtle.turnRight()
  64.     else
  65.         turtle.turnLeft()
  66.     end
  67.    
  68.     turtle.back()
  69.     turtle.back()
  70.     turtle.down()
  71.    
  72.     if color == "white" then
  73.         rightSide()
  74.         turnCorner()
  75.         front()
  76.         turnCorner()
  77.         turtle.up()
  78.         leftSide()
  79.         turnCorner()
  80.         back()
  81.     else
  82.         leftSide()
  83.         turnCorner()
  84.         back()
  85.         turtle.down()
  86.         turnCorner()
  87.         rightSide()
  88.         turnCorner()
  89.         front()
  90.     end
  91. end
  92.  
  93.  function turnCorner()
  94.         turtle.turnRight()
  95.         turtle.forward()
  96.         turtle.forward()
  97.         turtle.turnLeft()
  98.         turtle.forward()
  99.         turtle.forward()
  100.         turtle.turnLeft()
  101.  end
  102.  
  103.  function leftSide()
  104.     select(4)
  105.     turtle.place()
  106.    
  107.     select(5)
  108.     turtle.turnLeft()
  109.     turtle.forward()
  110.     turtle.turnRight()
  111.     turtle.place()
  112.     turtle.turnRight()
  113.     turtle.forward()
  114.     turtle.turnLeft()
  115.    
  116.     turtle.down()
  117.    
  118.     select(3)
  119.     turtle.place()
  120.     turtle.down()
  121.     turtle.place()
  122.     turtle.down()
  123.    
  124.     select(2)
  125.     turtle.place()
  126.     turtle.down()
  127.    
  128.     turtle.down()
  129.     turtle.forward()
  130.     turtle.turnLeft()
  131.     turtle.place()
  132.     turtle.turnRight()
  133.     turtle.back()
  134.     turtle.place()
  135. end
  136.  
  137. function rightSide()
  138.     select(4)
  139.     turtle.place()
  140.    
  141.     select(5)
  142.     turtle.turnRight()
  143.     turtle.forward()
  144.     turtle.turnLeft()
  145.     turtle.place()
  146.     turtle.turnLeft()
  147.     turtle.forward()
  148.     turtle.turnRight()
  149.    
  150.     turtle.down()
  151.    
  152.     select(3)
  153.     turtle.place()
  154.     turtle.down()
  155.     turtle.place()
  156.     turtle.down()
  157.    
  158.     select(2)
  159.     turtle.place()
  160.     turtle.down()
  161.    
  162.     turtle.down()
  163.     turtle.forward()
  164.     turtle.turnLeft()
  165.     turtle.place()
  166.     turtle.turnRight()
  167.     turtle.back()
  168.     turtle.place()
  169. end
  170.  
  171. function front()
  172.     select(2)
  173.     turtle.forward()
  174.     turtle.turnLeft()
  175.     turtle.place()
  176.     turtle.turnRight()
  177.     turtle.back()
  178.     turtle.place()
  179.     turtle.up()
  180.    
  181.     select(4)
  182.     turtle.place()
  183.     turtle.up()
  184.    
  185.     select(5)
  186.     turtle.place()
  187.     turtle.up()
  188.    
  189.     select(3)
  190.     turtle.place() 
  191. end
  192.  
  193. function back()
  194.     select(2)
  195.     turtle.forward()
  196.     turtle.turnLeft()
  197.     turtle.place()
  198.     turtle.turnRight()
  199.     turtle.back()
  200.     turtle.place()
  201.     turtle.up()
  202.    
  203.     select(2)
  204.     turtle.place()
  205.     turtle.up()
  206.    
  207.     select(3)
  208.     turtle.place()
  209.     turtle.up()
  210.    
  211.     select(4)
  212.     turtle.place()
  213.     turtle.up()
  214.    
  215.     select(5)
  216.     turtle.place()
  217.     turtle.up()
  218.    
  219.     select(3)
  220.     turtle.forward()
  221.     turtle.place()
  222.     turtle.back()
  223. end
  224.  
  225. function returnToStart()
  226.  
  227.     if color == "white" then
  228.         for i = 1,6 do
  229.             turtle.down()
  230.         end
  231.     else
  232.         for i = 1,4 do
  233.             turtle.down()
  234.         end
  235.     end
  236.    
  237.     turtle.turnLeft()
  238.     turtle.forward()
  239.     turtle.forward()
  240.     turtle.turnRight()
  241. end
  242. buildBase()
  243. buildMid()
  244. returnToStart()
Advertisement
Add Comment
Please, Sign In to add comment