Advertisement
HyperQ

Slot Machine that costs - Tekkit

Jun 21st, 2012
532
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.63 KB | None | 0 0
  1. prizeamount = 10
  2. detectside = "front"
  3. monside = "right"
  4. dispenserside = "bottom"
  5. showloser = true
  6.  
  7. mon = peripheral.wrap(monside)
  8. shell.run("clear",1)
  9. mon.clear()
  10. mon.setCursorPos(1,1)
  11. mon.write(" Throw")
  12. mon.setCursorPos(1,2)
  13. mon.write("Diamond")
  14. mon.setCursorPos(1,3)
  15. mon.write("In Hole")
  16. mon.setCursorPos(1,4)
  17. mon.write("To Play")
  18. print("Hold Control + T to edit code")
  19.  
  20. function winner()
  21.     sleep(2)
  22.     mon.clear()
  23.     mon.setCursorPos(1,1)
  24.     mon.write("*-*-*-*")
  25.     mon.setCursorPos(1,2)
  26.     mon.write("-*-*-*-")
  27.     mon.setCursorPos(1,3)
  28.     mon.write("Winner!")
  29.     mon.setCursorPos(1,4)
  30.     mon.write("-*-*-*-")
  31.     mon.setCursorPos(1,5)
  32.     mon.write("*-*-*-*")
  33.     sleep(0.5)
  34.     mon.clear()
  35.     mon.setCursorPos(1,1)
  36.     mon.write("-*-*-*-")
  37.     mon.setCursorPos(1,2)
  38.     mon.write("*-*-*-*")
  39.     mon.setCursorPos(1,3)
  40.     mon.write("Winner!")
  41.     mon.setCursorPos(1,4)
  42.     mon.write("*-*-*-*")
  43.     mon.setCursorPos(1,5)
  44.     mon.write("-*-*-*-")
  45.     sleep(0.5)
  46.     mon.clear()
  47.     mon.setCursorPos(1,1)
  48.     mon.write("*-*-*-*")
  49.     mon.setCursorPos(1,2)
  50.     mon.write("-*-*-*-")
  51.     mon.setCursorPos(1,3)
  52.     mon.write("Winner!")
  53.     mon.setCursorPos(1,4)
  54.     mon.write("-*-*-*-")
  55.     mon.setCursorPos(1,5)
  56.     mon.write("*-*-*-*")
  57.     sleep(0.5)
  58.     mon.clear()
  59.     mon.setCursorPos(1,1)
  60.     mon.write("-*-*-*-")
  61.     mon.setCursorPos(1,2)
  62.     mon.write("*-*-*-*")
  63.     mon.setCursorPos(1,3)
  64.     mon.write("Winner!")
  65.     mon.setCursorPos(1,4)
  66.     mon.write("*-*-*-*")
  67.     mon.setCursorPos(1,5)
  68.     mon.write("-*-*-*-")
  69.     sleep(0.5)
  70.     mon.clear()
  71.     mon.setCursorPos(1,1)
  72.     mon.write("*-*-*-*")
  73.     mon.setCursorPos(1,2)
  74.     mon.write("-*-*-*-")
  75.     mon.setCursorPos(1,3)
  76.     mon.write("Winner!")
  77.     mon.setCursorPos(1,4)
  78.     mon.write("-*-*-*-")
  79.     mon.setCursorPos(1,5)
  80.     mon.write("*-*-*-*")
  81.     sleep(0.5)
  82.     mon.clear()
  83.     mon.setCursorPos(1,1)
  84.     mon.write("-*-*-*-")
  85.     mon.setCursorPos(1,2)
  86.     mon.write("*-*-*-*")
  87.     mon.setCursorPos(1,3)
  88.     mon.write("Winner!")
  89.     mon.setCursorPos(1,4)
  90.     mon.write("*-*-*-*")
  91.     mon.setCursorPos(1,5)
  92.     mon.write("-*-*-*-")
  93. end
  94.  
  95. function Loser()
  96.     sleep(2)
  97.     mon.clear()
  98.     mon.setCursorPos(1,1)
  99.     mon.write("*-*-*-*")
  100.     mon.setCursorPos(1,2)
  101.     mon.write("-*-*-*-")
  102.     mon.setCursorPos(1,3)
  103.     mon.write("Loser!!")
  104.     mon.setCursorPos(1,4)
  105.     mon.write("-*-*-*-")
  106.     mon.setCursorPos(1,5)
  107.     mon.write("*-*-*-*")
  108.     sleep(0.5)
  109.     mon.clear()
  110.     mon.setCursorPos(1,1)
  111.     mon.write("-*-*-*-")
  112.     mon.setCursorPos(1,2)
  113.     mon.write("*-*-*-*")
  114.     mon.setCursorPos(1,3)
  115.     mon.write("Loser!!")
  116.     mon.setCursorPos(1,4)
  117.     mon.write("*-*-*-*")
  118.     mon.setCursorPos(1,5)
  119.     mon.write("-*-*-*-")
  120.     sleep(0.5)
  121.     mon.clear()
  122.     mon.setCursorPos(1,1)
  123.     mon.write("*-*-*-*")
  124.     mon.setCursorPos(1,2)
  125.     mon.write("-*-*-*-")
  126.     mon.setCursorPos(1,3)
  127.     mon.write("Loser!!")
  128.     mon.setCursorPos(1,4)
  129.     mon.write("-*-*-*-")
  130.     mon.setCursorPos(1,5)
  131.     mon.write("*-*-*-*")
  132.     sleep(0.5)
  133.     mon.clear()
  134.     mon.setCursorPos(1,1)
  135.     mon.write("-*-*-*-")
  136.     mon.setCursorPos(1,2)
  137.     mon.write("*-*-*-*")
  138.     mon.setCursorPos(1,3)
  139.     mon.write("Loser!!")
  140.     mon.setCursorPos(1,4)
  141.     mon.write("*-*-*-*")
  142.     mon.setCursorPos(1,5)
  143.     mon.write("-*-*-*-")
  144.     sleep(0.5)
  145.     mon.clear()
  146.     mon.setCursorPos(1,1)
  147.     mon.write("*-*-*-*")
  148.     mon.setCursorPos(1,2)
  149.     mon.write("-*-*-*-")
  150.     mon.setCursorPos(1,3)
  151.     mon.write("Loser!!")
  152.     mon.setCursorPos(1,4)
  153.     mon.write("-*-*-*-")
  154.     mon.setCursorPos(1,5)
  155.     mon.write("*-*-*-*")
  156.     sleep(0.5)
  157.     mon.clear()
  158.     mon.setCursorPos(1,1)
  159.     mon.write("-*-*-*-")
  160.     mon.setCursorPos(1,2)
  161.     mon.write("*-*-*-*")
  162.     mon.setCursorPos(1,3)
  163.     mon.write("Loser!!")
  164.     mon.setCursorPos(1,4)
  165.     mon.write("*-*-*-*")
  166.     mon.setCursorPos(1,5)
  167.     mon.write("-*-*-*-")
  168. end
  169.  
  170. function slots()
  171.     result1 = math.random(1,7)
  172.     result1 = result1 - ".0"
  173.  
  174.     result2 = math.random(1,7)
  175.     result2 = result2 - ".0"
  176.  
  177.     result3 = math.random(1,7)
  178.     result3 = result3 - ".0"
  179.  
  180.     result4 = math.random(1,7)
  181.     result4 = result4 - ".0"
  182.  
  183.     result5 = math.random(1,7)
  184.     result5 = result5 - ".0"
  185.  
  186.     result6 = math.random(1,7)
  187.     result6 = result6 - ".0"
  188.  
  189.     result7 = math.random(1,7)
  190.     result7 = result7 - ".0"
  191.  
  192.     result8 = math.random(1,7)
  193.     result8 = result8 - ".0"
  194.  
  195.     result9 = math.random(1,7)
  196.     result9 = result9 - ".0"
  197.  
  198.     term.setCursorPos(25,5)
  199.     mon.clear()
  200.     mon.setCursorPos(1,1)
  201.     mon.write("*******")
  202.     mon.setCursorPos(2,2)
  203.     mon.write(result1.."|"..result2.."|"..result3)
  204.     mon.setCursorPos(2,3)
  205.     mon.write(result4.."|"..result5.."|"..result6)
  206.     mon.setCursorPos(2,4)
  207.     mon.write(result7.."|"..result8.."|"..result9)
  208.     mon.setCursorPos(1,5)
  209.     mon.write("*******")
  210.     term.setCursorPos(1,3)
  211.     print("Debug Info:")
  212.     print("Results:   "..result1.."|"..result2.."|"..result3)
  213.     print("           "..result4.."|"..result5.."|"..result6)
  214.     print("           "..result7.."|"..result8.."|"..result9)
  215.  
  216.     if result1 == result2 and result2 == result3 then
  217.         print("Row Match, Top Row")
  218.         winner()
  219.         cpayout = 0
  220.         while cpayout < prizeamount do         
  221.             redstone.setOutput(dispenserside,true)
  222.             sleep(0.2)
  223.             redstone.setOutput(dispenserside,false)
  224.             sleep(0.2)
  225.             cpayout = cpayout +1
  226.         end
  227.         os.reboot()
  228.     elseif result4 == result5 and result5 == result6 then
  229.         print("Row Match, Middle Row")
  230.         winner()
  231.         cpayout = 0
  232.         while cpayout < prizeamount do         
  233.             redstone.setOutput(dispenserside,true)
  234.             sleep(0.2)
  235.             redstone.setOutput(dispenserside,false)
  236.             sleep(0.2)
  237.             cpayout = cpayout +1
  238.         end
  239.         os.reboot()
  240.     elseif result7 == result8 and result8 == result9 then
  241.         print("Row Match, Bottom Row")
  242.         winner()
  243.         cpayout = 0
  244.         while cpayout < prizeamount do         
  245.             redstone.setOutput(dispenserside,true)
  246.             sleep(0.2)
  247.             redstone.setOutput(dispenserside,false)
  248.             sleep(0.2)
  249.             cpayout = cpayout +1
  250.         end
  251.         os.reboot()
  252.     elseif result1 == result5 and result5 == result9 then
  253.         print("Diagonal Match From top to bottom.")
  254.         winner()
  255.         cpayout = 0
  256.         while cpayout < prizeamount do         
  257.             redstone.setOutput(dispenserside,true)
  258.             sleep(0.2)
  259.             redstone.setOutput(dispenserside,false)
  260.             sleep(0.2)
  261.             cpayout = cpayout +1
  262.         end
  263.         os.reboot()
  264.     elseif result7 == result5 and result5 == result3 then
  265.         print("Diagonal Match From bottom to top.")
  266.         winner()
  267.         cpayout = 0
  268.         while cpayout < prizeamount do         
  269.             redstone.setOutput(dispenserside,true)
  270.             sleep(0.2)
  271.             redstone.setOutput(dispenserside,false)
  272.             sleep(0.2)
  273.             cpayout = cpayout +1
  274.         end
  275.         os.reboot()
  276.     else
  277.         print("There was No Match")
  278.         if showloser == true then
  279.             Loser()
  280.         end
  281.         sleep(2)
  282.         os.reboot()
  283.     end
  284.  
  285. end
  286.  
  287. local rRunning = true
  288.  
  289. while rRunning do
  290.   sleep(0.5)
  291.   local rEvent, param = os.pullEvent()
  292.   if rEvent == "redstone" then
  293.     if redstone.getInput(detectside) then
  294.       if redstone.getInput(detectside) == true then
  295.       slots()
  296.       else
  297.         shell.run("clear",1)
  298.       end
  299.     end
  300.   end
  301. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement