Guest User

[Alpha]3D printer

a guest
Dec 26th, 2012
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.19 KB | None | 0 0
  1. local w,h = term.getSize()
  2. local select = 1
  3. inv1 = 0
  4. inv2 = 0
  5. inv3 = 0
  6. inv4 = 0
  7.  
  8.  
  9. f1 = {
  10.     [1] = 1, [2] = 1, [3] = 1, [4] = 1, [5] = 1, [6] = "right",
  11.     [7] = 1, [8] = 1, [9] = 1, [10] = 1, [11] = 1, [12] = "left",
  12.     [13] = 1, [14] = 1, [15] = 1, [16] = 1, [17] = 1, [18] = "right",
  13.     [19] = 1, [20] = 1, [21] = 1, [22] = 1, [23] = 1, [24] = "left",
  14.     [25] = 1, [26] = 1, [27] = 1, [28] = 1, [29] = 1, [30] = "up"}
  15.  
  16. f2 = {
  17.     [1] = 1, [2] = 2, [3] = 0, [4] = 2, [5] = 1, [6] = "right",
  18.     [7] = 2, [8] = 0, [9] = 0, [10] = 0, [11] = 2, [12] = "left",
  19.     [13] = 2, [14] = 0, [15] = 0, [16] = 0, [17] = 2, [18] = "right",
  20.     [19] = 2, [20] = 0, [21] = 0, [22] = 0, [23] = 2, [24] = "left",
  21.     [25] = 1, [26] = 2, [27] = 2, [28] = 2, [29] = 1, [30] = "up"}
  22.  
  23. f3 = {
  24.     [1] = 1, [2] = 2, [3] = 0, [4] = 2, [5] = 1, [6] = "right",
  25.     [7] = 2, [8] = 0, [9] = 0, [10] = 0, [11] = 2, [12] = "left",
  26.     [13] = 3, [14] = 0, [15] = 0, [16] = 0, [17] = 3, [18] = "right",
  27.     [19] = 2, [20] = 0, [21] = 0, [22] = 0, [23] = 2, [24] = "left",
  28.     [25] = 1, [26] = 2, [27] = 3, [28] = 2, [29] = 1, [30] = "up"}
  29.  
  30. f4 = {
  31.     [1] = 1, [2] = 2, [3] = 2, [4] = 2, [5] = 1, [6] = "right",
  32.     [7] = 2, [8] = 0, [9] = 0, [10] = 0, [11] = 2, [12] = "left",
  33.     [13] = 2, [14] = 0, [15] = 0, [16] = 0, [17] = 2, [18] = "right",
  34.     [19] = 2, [20] = 0, [21] = 0, [22] = 0, [23] = 2, [24] = "left",
  35.     [25] = 1, [26] = 2, [27] = 2, [28] = 2, [29] = 1, [30] = "up"}
  36.  
  37. f5 = {
  38.     [1] = 1, [2] = 1, [3] = 1, [4] = 1, [5] = 1, [6] = "right",
  39.     [7] = 1, [8] = 1, [9] = 1, [10] = 1, [11] = 1, [12] = "left",
  40.     [13] = 1, [14] = 1, [15] = 1, [16] = 1, [17] = 1, [18] = "right",
  41.     [19] = 1, [20] = 0, [21] = 1, [22] = 1, [23] = 1, [24] = "left",
  42.     [25] = 1, [26] = 1, [27] = 1, [28] = 1, [29] = 1, [30] = "up"}
  43.    
  44. f6 = {
  45.     [1] = 4, [2] = 4, [3] = 4, [4] = 4, [5] = 4, [6] = "right",
  46.     [7] = 4, [8] = 0, [9] = 0, [10] = 0, [11] = 4, [12] = "left",
  47.     [13] = 4, [14] = 0, [15] = 0, [16] = 0, [17] = 4, [18] = "right",
  48.     [19] = 4, [20] = 0, [21] = 0, [22] = 0, [23] = 4, [24] = "left",
  49.     [25] = 4, [26] = 4, [27] = 4, [28] = 4, [29] = 4, [30] = "up"}
  50.  
  51. current = 1
  52.  
  53. local function printCentered(str, ypos)
  54.   term.setCursorPos(w/2 - #str/2, ypos)
  55.   term.write(str)
  56. end
  57.  
  58. local function printRight(str, ypos)
  59.   term.setCursorPos(w - #str, ypos)
  60.   term.write(str)
  61. end
  62.  
  63. function drawMain()
  64.   printCentered("Print", 8)
  65.   printCentered("Resorces", 12)
  66.   printCentered("", h-2)
  67.  
  68.   local ypos = 9
  69.   if select == 2 then ypos = 13
  70.   elseif select == 3 then ypos = h-1 end
  71.   printCentered("---------", ypos)
  72. end
  73.  
  74. function drawPicOne()
  75.    
  76.     turtle.up()
  77.  
  78.     for i = 1, 30 do
  79.     if (f1[i] == 1) then
  80.         turtle.select(1)
  81.         turtle.placeDown()
  82.         turtle.forward()
  83.     end
  84.     if (f1[i] == 2) then
  85.         turtle.select(2)
  86.         turtle.placeDown()
  87.         turtle.forward()
  88.     end
  89.     if (f1[i] == 3) then
  90.         turtle.select(3)
  91.         turtle.placeDown()
  92.         turtle.forward()
  93.     end
  94.     if (f1[i] == 4) then
  95.         turtle.select(4)
  96.         turtle.placeDown()
  97.         turtle.forward()
  98.     end
  99.     if (f1[i] == "right") then
  100.         turtle.turnRight()
  101.         turtle.forward()
  102.         turtle.turnRight()
  103.         turtle.forward()
  104.     end
  105.     if (f1[i] == "left") then
  106.         turtle.turnLeft()
  107.         turtle.forward()
  108.         turtle.turnLeft()
  109.         turtle.forward()
  110.     end
  111.     if (f1[i] == 0) then
  112.         turtle.forward()
  113.     end
  114.     if (f1[i] == "up") then
  115.         turtle.up()
  116.         turtle.turnLeft()
  117.         turtle.forward()
  118.         turtle.forward()
  119.         turtle.forward()
  120.         turtle.forward()
  121.         turtle.turnLeft()
  122.         turtle.forward()
  123.         turtle.forward()
  124.         turtle.forward()
  125.         turtle.forward()
  126.         turtle.forward()
  127.         turtle.turnLeft()
  128.         turtle.turnLeft()
  129.         current = 2
  130.     end
  131. end
  132. for i = 1, 30 do
  133.     if (f2[i] == 1) then
  134.         turtle.select(1)
  135.         turtle.placeDown()
  136.         turtle.forward()
  137.     end
  138.     if (f2[i] == 2) then
  139.         turtle.select(2)
  140.         turtle.placeDown()
  141.         turtle.forward()
  142.     end
  143.     if (f2[i] == 3) then
  144.         turtle.select(3)
  145.         turtle.placeDown()
  146.         turtle.forward()
  147.     end
  148.     if (f2[i] == 4) then
  149.         turtle.select(4)
  150.         turtle.placeDown()
  151.         turtle.forward()
  152.     end
  153.     if (f2[i] == "right") then
  154.         turtle.turnRight()
  155.         turtle.forward()
  156.         turtle.turnRight()
  157.         turtle.forward()
  158.     end
  159.     if (f2[i] == "left") then
  160.         turtle.turnLeft()
  161.         turtle.forward()
  162.         turtle.turnLeft()
  163.         turtle.forward()
  164.     end
  165.     if (f2[i] == 0) then
  166.         turtle.forward()
  167.     end
  168.     if (f2[i] == "up") then
  169.         turtle.up()
  170.         turtle.turnLeft()
  171.         turtle.forward()
  172.         turtle.forward()
  173.         turtle.forward()
  174.         turtle.forward()
  175.         turtle.turnLeft()
  176.         turtle.forward()
  177.         turtle.forward()
  178.         turtle.forward()
  179.         turtle.forward()
  180.         turtle.forward()
  181.         turtle.turnLeft()
  182.         turtle.turnLeft()
  183.         current = 3
  184.     end
  185. end
  186.  
  187. for i = 1, 30 do
  188.     if (f3[i] == 1) then
  189.         turtle.select(1)
  190.         turtle.placeDown()
  191.         turtle.forward()
  192.     end
  193.     if (f3[i] == 2) then
  194.         turtle.select(2)
  195.         turtle.placeDown()
  196.         turtle.forward()
  197.     end
  198.     if (f3[i] == 3) then
  199.         turtle.select(3)
  200.         turtle.placeDown()
  201.         turtle.forward()
  202.     end
  203.     if (f3[i] == 4) then
  204.         turtle.select(4)
  205.         turtle.placeDown()
  206.         turtle.forward()
  207.     end
  208.     if (f3[i] == "right") then
  209.         turtle.turnRight()
  210.         turtle.forward()
  211.         turtle.turnRight()
  212.         turtle.forward()
  213.     end
  214.     if (f3[i] == "left") then
  215.         turtle.turnLeft()
  216.         turtle.forward()
  217.         turtle.turnLeft()
  218.         turtle.forward()
  219.     end
  220.     if (f3[i] == 0) then
  221.         turtle.forward()
  222.     end
  223.     if (f3[i] == "up") then
  224.         turtle.up()
  225.         turtle.turnLeft()
  226.         turtle.forward()
  227.         turtle.forward()
  228.         turtle.forward()
  229.         turtle.forward()
  230.         turtle.turnLeft()
  231.         turtle.forward()
  232.         turtle.forward()
  233.         turtle.forward()
  234.         turtle.forward()
  235.         turtle.forward()
  236.         turtle.turnLeft()
  237.         turtle.turnLeft()
  238.         current = 4
  239.     end
  240. end
  241.  
  242. for i = 1, 30 do
  243.     if (f4[i] == 1) then
  244.         turtle.select(1)
  245.         turtle.placeDown()
  246.         turtle.forward()
  247.     end
  248.     if (f4[i] == 2) then
  249.         turtle.select(2)
  250.         turtle.placeDown()
  251.         turtle.forward()
  252.     end
  253.     if (f4[i] == 3) then
  254.         turtle.select(3)
  255.         turtle.placeDown()
  256.         turtle.forward()
  257.     end
  258.     if (f4[i] == 4) then
  259.         turtle.select(4)
  260.         turtle.placeDown()
  261.         turtle.forward()
  262.     end
  263.     if (f4[i] == "right") then
  264.         turtle.turnRight()
  265.         turtle.forward()
  266.         turtle.turnRight()
  267.         turtle.forward()
  268.     end
  269.     if (f4[i] == "left") then
  270.         turtle.turnLeft()
  271.         turtle.forward()
  272.         turtle.turnLeft()
  273.         turtle.forward()
  274.     end
  275.     if (f4[i] == 0) then
  276.         turtle.forward()
  277.     end
  278.     if (f4[i] == "up") then
  279.         turtle.up()
  280.         turtle.turnLeft()
  281.         turtle.forward()
  282.         turtle.forward()
  283.         turtle.forward()
  284.         turtle.forward()
  285.         turtle.turnLeft()
  286.         turtle.forward()
  287.         turtle.forward()
  288.         turtle.forward()
  289.         turtle.forward()
  290.         turtle.forward()
  291.         turtle.turnLeft()
  292.         turtle.turnLeft()
  293.         current = 5
  294.     end
  295. end
  296.  
  297. for i = 1, 30 do
  298.     if (f5[i] == 1) then
  299.         turtle.select(1)
  300.         turtle.placeDown()
  301.         turtle.forward()
  302.     end
  303.     if (f5[i] == 2) then
  304.         turtle.select(2)
  305.         turtle.placeDown()
  306.         turtle.forward()
  307.     end
  308.     if (f5[i] == 3) then
  309.         turtle.select(3)
  310.         turtle.placeDown()
  311.         turtle.forward()
  312.     end
  313.     if (f5[i] == 4) then
  314.         turtle.select(4)
  315.         turtle.placeDown()
  316.         turtle.forward()
  317.     end
  318.     if (f5[i] == "right") then
  319.         turtle.turnRight()
  320.         turtle.forward()
  321.         turtle.turnRight()
  322.         turtle.forward()
  323.     end
  324.     if (f5[i] == "left") then
  325.         turtle.turnLeft()
  326.         turtle.forward()
  327.         turtle.turnLeft()
  328.         turtle.forward()
  329.     end
  330.     if (f5[i] == 0) then
  331.         turtle.forward()
  332.     end
  333.     if (f5[i] == "up") then
  334.         turtle.up()
  335.         turtle.turnLeft()
  336.         turtle.forward()
  337.         turtle.forward()
  338.         turtle.forward()
  339.         turtle.forward()
  340.         turtle.turnLeft()
  341.         turtle.forward()
  342.         turtle.forward()
  343.         turtle.forward()
  344.         turtle.forward()
  345.         turtle.forward()
  346.         turtle.turnLeft()
  347.         turtle.turnLeft()
  348.         current = 6
  349.     end
  350. end
  351.  
  352. for i = 1, 30 do
  353.     if (f6[i] == 1) then
  354.         turtle.select(1)
  355.         turtle.placeDown()
  356.         turtle.forward()
  357.     end
  358.     if (f6[i] == 2) then
  359.         turtle.select(2)
  360.         turtle.placeDown()
  361.         turtle.forward()
  362.     end
  363.     if (f6[i] == 3) then
  364.         turtle.select(3)
  365.         turtle.placeDown()
  366.         turtle.forward()
  367.     end
  368.     if (f6[i] == 4) then
  369.         turtle.select(4)
  370.         turtle.placeDown()
  371.         turtle.forward()
  372.     end
  373.     if (f6[i] == "right") then
  374.         turtle.turnRight()
  375.         turtle.forward()
  376.         turtle.turnRight()
  377.         turtle.forward()
  378.     end
  379.     if (f6[i] == "left") then
  380.         turtle.turnLeft()
  381.         turtle.forward()
  382.         turtle.turnLeft()
  383.         turtle.forward()
  384.     end
  385.     if (f6[i] == 0) then
  386.         turtle.forward()
  387.     end
  388.     if (f6[i] == "up") then
  389.         turtle.up()
  390.         turtle.turnLeft()
  391.         turtle.forward()
  392.         turtle.forward()
  393.         turtle.forward()
  394.         turtle.forward()
  395.         turtle.turnLeft()
  396.         turtle.forward()
  397.         turtle.forward()
  398.         turtle.forward()
  399.         turtle.forward()
  400.         turtle.forward()
  401.         turtle.turnLeft()
  402.         turtle.turnLeft()
  403.         current = 7
  404.     end
  405. end
  406.    
  407.     printCentered("Edit", h-4)
  408.     printCentered("Back", h-1)
  409.     local ypos = h-3;
  410.     if select == 2 then ypos = h end
  411.     printCentered("---------", ypos)
  412. end
  413.  
  414. function drawPicTwo()
  415.     inv1 = 0
  416.     inv2 = 0
  417.     inv3 = 0
  418.     inv4 = 0
  419. for i = 1, 30 do
  420.     if (f1[i] == 1) then
  421.         inv1 = inv1 + 1
  422.     end
  423.     if (f1[i] == 2) then
  424.         inv2 = inv2 + 1
  425.     end
  426.     if (f1[i] == 3) then
  427.         inv3 = inv3 + 1
  428.     end
  429.     if (f1[i] == 4) then
  430.         inv4 = inv4 + 1
  431.     end
  432. end
  433.  
  434. for i = 1, 30 do
  435.     if (f2[i] == 1) then
  436.         inv1 = inv1 + 1
  437.     end
  438.     if (f2[i] == 2) then
  439.         inv2 = inv2 + 1
  440.     end
  441.     if (f2[i] == 3) then
  442.         inv3 = inv3 + 1
  443.     end
  444.     if (f2[i] == 4) then
  445.         inv4 = inv4 + 1
  446.     end
  447. end
  448.  
  449. for i = 1, 30 do
  450.     if (f3[i] == 1) then
  451.         inv1 = inv1 + 1
  452.     end
  453.     if (f3[i] == 2) then
  454.         inv2 = inv2 + 1
  455.     end
  456.     if (f3[i] == 3) then
  457.         inv3 = inv3 + 1
  458.     end
  459.     if (f3[i] == 4) then
  460.         inv4 = inv4 + 1
  461.     end
  462. end
  463.  
  464. for i = 1, 30 do
  465.     if (f4[i] == 1) then
  466.         inv1 = inv1 + 1
  467.     end
  468.     if (f4[i] == 2) then
  469.         inv2 = inv2 + 1
  470.     end
  471.     if (f4[i] == 3) then
  472.         inv3 = inv3 + 1
  473.     end
  474.     if (f4[i] == 4) then
  475.         inv4 = inv4 + 1
  476.     end
  477. end
  478.  
  479. for i = 1, 30 do
  480.     if (f5[i] == 1) then
  481.         inv1 = inv1 + 1
  482.     end
  483.     if (f5[i] == 2) then
  484.         inv2 = inv2 + 1
  485.     end
  486.     if (f5[i] == 3) then
  487.         inv3 = inv3 + 1
  488.     end
  489.     if (f5[i] == 4) then
  490.         inv4 = inv4 + 1
  491.     end
  492. end
  493.  
  494. for i = 1, 30 do
  495.     if (f6[i] == 1) then
  496.         inv1 = inv1 + 1
  497.     end
  498.     if (f6[i] == 2) then
  499.         inv2 = inv2 + 1
  500.     end
  501.     if (f6[i] == 3) then
  502.         inv3 = inv3 + 1
  503.     end
  504.     if (f6[i] == 4) then
  505.         inv4 = inv4 + 1
  506.     end
  507. end
  508.  
  509.     local bishopList = {
  510.         "Slot 1 = "..inv1,
  511.         "Slot 2 = "..inv2,
  512.         "Slot 3 = "..inv3,
  513.         "Slot 4 = "..inv4
  514.     }
  515.  
  516.     for i=1,#bishopList do
  517.         printCentered(bishopList[i], 2 + i)
  518.     end
  519.    
  520.     printCentered("Print", h-4)
  521.     printCentered("Back", h-1)
  522.     local ypos = h-3;
  523.     if select == 2 then ypos = h end
  524.     printCentered("---------", ypos)
  525. end
  526.  
  527. function drawHeader()
  528.   printCentered("3D Printer", 1)
  529.   printCentered(string.rep("-", w), 2)  
  530.   printRight("by mcdist", h)
  531. end
  532.  
  533. local menustate = "main"
  534.  
  535. local mopt = {
  536.   ["main"] = {
  537.     options = {"pic1", "pic2", "quit"},
  538.     draw = drawMain
  539.   },
  540.   ["pic1"] = {
  541.     options = {"pic2", "main"},
  542.     draw = drawPicOne
  543.   },
  544.   ["pic2"] = {
  545.     options = {"pic1", "main"},
  546.     draw = drawPicTwo
  547.   }
  548. }
  549.  
  550. function runMenu()
  551.   while true do
  552.     term.clear()
  553.     drawHeader()
  554.     mopt[menustate].draw()
  555.  
  556.     local id, key = os.pullEvent("key")
  557.     --UP = 200, DOWN = 208, ENTER = 28
  558.    
  559.     if key == 200 and select > 1 then select = select-1
  560.     elseif key == 208 and select < #mopt[menustate].options then select = select+1
  561.     elseif key == 28 then
  562.       if mopt[menustate].options[select] == "quit" then break end
  563.       menustate = mopt[menustate].options[select]
  564.     end
  565.   end
  566. end
  567.  
  568. runMenu()
  569. term.clear()
  570. term.setCursorPos(1,1)
Advertisement
Add Comment
Please, Sign In to add comment