Aidan428

testmissile1

May 9th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.48 KB | None | 0 0
  1. local mon = peripheral.wrap("top")
  2. local pass = "1234"
  3. local passlen = string.len(pass)
  4. local press = "";
  5. tblpad = {};
  6. for i=0,10 do
  7. tblpad[i] = {}
  8.                 for x=0,10 do
  9.                                 tblpad[i][x] = "x"
  10.                 end
  11. end
  12.  
  13.  
  14. tblpad[2][2] = "1"
  15. tblpad[4][2] = "2"
  16. tblpad[6][2] = "3"
  17. tblpad[2][3] = "4"
  18. tblpad[4][3] = "5"
  19. tblpad[6][3] = "6"
  20. tblpad[2][4] = "7"
  21. tblpad[4][4] = "8"
  22. tblpad[6][4] = "9"
  23. tblpad[4][5] = "0"
  24.  
  25. function drawpad()
  26.                 mon.setBackgroundColor(colors.blue)
  27.                 mon.setCursorPos(1,1)
  28.                 mon.write(" Code?  ")
  29.                 mon.setCursorPos(1,2)
  30.                 mon.write(" 1 2 3  ")
  31.                 mon.setCursorPos(1,3)
  32.                 mon.write(" 4 5 6 ")
  33.                 mon.setCursorPos(1,4)
  34.                 mon.write(" 7 8 9 ")
  35.                 mon.setCursorPos(1,5)
  36.                 mon.write("   0   ")
  37. end
  38.  
  39. function countdown(c)
  40.  
  41.                 for i=1,c do
  42.                                 mon.setCursorPos(1,1)
  43.                                 mon.write("        ")
  44.                                 mon.setCursorPos(1,2)
  45.                                 mon.write("        ")
  46.                                 mon.setCursorPos(1,3)
  47.                                 mon.write("   ".. c .."   ")
  48.                                 mon.setCursorPos(1,4)
  49.                                 mon.write("        ")
  50.                                 mon.setCursorPos(1,5)
  51.                                 mon.write("        ")
  52.                                 sleep(1)
  53.                                 c = c-1
  54.                 end
  55. end
  56.  
  57. function codeaccept()
  58. rs.setOutput('left', true)
  59.                 mon.setBackgroundColor(colors.red)
  60.                 mon.setCursorPos(1,1)
  61.                 mon.write("-------")
  62.                 mon.setCursorPos(1,2)
  63.                 mon.write("Prepare")
  64.                 mon.setCursorPos(1,3)
  65.                 mon.write("  To   ")
  66.                 mon.setCursorPos(1,4)
  67.                 mon.write("Launch ")
  68.                 mon.setCursorPos(1,5)
  69.                 mon.write("-------")
  70. sleep(5)
  71. end
  72. function after()
  73. rs.setOutput('back', true) -- Activates Launcher
  74.                 mon.setBackgroundColor(colors.red)
  75.                 mon.setCursorPos(1,1)
  76.                 mon.write("-------")
  77.                 mon.setCursorPos(1,2)
  78.                 mon.write("Standby")
  79.                 mon.setCursorPos(1,3)
  80.                 mon.write("  For  ")
  81.                 mon.setCursorPos(1,4)
  82.                 mon.write("Impact ")
  83.                 mon.setCursorPos(1,5)
  84.                 mon.write("-------")
  85. sleep(2)
  86. rs.setOutput('back', false)
  87. rs.setOutput('left', false)
  88. sleep(10)
  89. end
  90.  
  91.  
  92. function opendoor()
  93. codeaccept()
  94. countdown(10)
  95. after()
  96. os.reboot()
  97. end
  98.  
  99. function wrongpass()
  100. rs.setOutput('left', true) -- Activates the Siren
  101.                 mon.setBackgroundColor(colors.red)
  102.                 mon.setCursorPos(1,1)
  103.                 mon.write("             ")
  104.                 mon.setCursorPos(1,2)
  105.                 mon.write(" CODE   ")
  106.                 mon.setCursorPos(1,3)
  107.                 mon.write("             ")
  108.                 mon.setCursorPos(1,4)
  109.                 mon.write("DENIED! ")
  110.                 mon.setCursorPos(1,5)
  111.                 mon.write("             ")
  112.                 sleep(20)
  113. rs.setOutput('left', false)
  114.                 drawpad()
  115. end
  116. drawpad()
  117.  
  118. while true do
  119.                 event, side, xPos, yPos = os.pullEvent("monitor_touch")
  120.                 if tblpad[xPos][yPos] ~= "x" then
  121.                                 mon.setCursorPos(xPos, yPos)
  122.                                 mon.setBackgroundColor(colors.red)
  123.                                 mon.write(tblpad[xPos][yPos])
  124.                                 sleep(0.2)
  125.                                 mon.setCursorPos(xPos, yPos)
  126.                                 mon.setBackgroundColor(colors.green)
  127.                                 mon.write(tblpad[xPos][yPos])
  128.                                 press = press .. tblpad[xPos][yPos]
  129.                                 if string.len(press) == passlen and press == pass then
  130.                                                 press = ""
  131.                                                 opendoor()
  132.                                 elseif string.len(press) == passlen and press ~= pass then
  133.                                                 press = ""
  134.                                                 wrongpass()
  135.                                 end
  136.                 end
  137. end
Add Comment
Please, Sign In to add comment