Advertisement
zabouth

CC Dooor Code

May 27th, 2013
4,749
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.35 KB | None | 0 0
  1. -- Set monitor loc
  2. local mon = peripheral.wrap("top")
  3. -- Set password
  4. local pass = "1234"
  5. local passlen = string.len(pass)
  6. local press = "";
  7. tblpad = {};
  8. for i=0,10 do
  9. tblpad[i] = {}
  10.     for x=0,10 do
  11.         tblpad[i][x] = "x"
  12.     end
  13. end
  14.  
  15.  
  16. tblpad[2][2] = "1"
  17. tblpad[4][2] = "2"
  18. tblpad[6][2] = "3"
  19. tblpad[2][3] = "4"
  20. tblpad[4][3] = "5"
  21. tblpad[6][3] = "6"
  22. tblpad[2][4] = "7"
  23. tblpad[4][4] = "8"
  24. tblpad[6][4] = "9"
  25. tblpad[4][5] = "0"
  26.  
  27. function drawpad()
  28.     mon.setBackgroundColor(colors.green)
  29.     mon.setCursorPos(1,1)
  30.     mon.write(" Code?  ")
  31.     mon.setCursorPos(1,2)
  32.     mon.write(" 1 2 3  ")
  33.     mon.setCursorPos(1,3)
  34.     mon.write(" 4 5 6 ")
  35.     mon.setCursorPos(1,4)
  36.     mon.write(" 7 8 9 ")
  37.     mon.setCursorPos(1,5)
  38.     mon.write("   0   ")
  39. end
  40.  
  41. function countdown(c)
  42.  
  43.     for i=1,c do
  44.         mon.setCursorPos(1,1)
  45.         mon.write("       ")
  46.         mon.setCursorPos(1,2)
  47.         mon.write("       ")
  48.         mon.setCursorPos(1,3)
  49.         mon.write("   ".. c .."   ")
  50.         mon.setCursorPos(1,4)
  51.         mon.write("       ")
  52.         mon.setCursorPos(1,5)
  53.         mon.write("       ")
  54.         sleep(1)
  55.         c = c-1
  56.     end
  57. end
  58.  
  59. function dots()
  60.     mon.setBackgroundColor(colors.red)
  61.     mon.setCursorPos(1,1)
  62.     mon.write("       ")
  63.     mon.setCursorPos(1,2)
  64.     mon.write("       ")
  65.     mon.setCursorPos(1,3)
  66.     mon.write("  ...  ")
  67.     mon.setCursorPos(1,4)
  68.     mon.write("       ")
  69.     mon.setCursorPos(1,5)
  70.     mon.write("       ")
  71. end
  72.  
  73.  
  74. function opendoor()
  75. dots()
  76.     --Open Door Code
  77.     countdown(5)
  78.     dots()
  79.     --Close Door Code
  80.     drawpad()
  81. end
  82.  
  83. function wrongpass()
  84.     mon.setBackgroundColor(colors.red)
  85.     mon.setCursorPos(1,1)
  86.     mon.write("       ")
  87.     mon.setCursorPos(1,2)
  88.     mon.write(" Wrong ")
  89.     mon.setCursorPos(1,3)
  90.     mon.write("       ")
  91.     mon.setCursorPos(1,4)
  92.     mon.write(" Code! ")
  93.     mon.setCursorPos(1,5)
  94.     mon.write("       ")
  95.     sleep(2)
  96.     countdown(5)
  97.     drawpad()
  98. end
  99. drawpad()
  100.  
  101. while true do
  102.     event, side, xPos, yPos = os.pullEvent("monitor_touch")
  103.     if tblpad[xPos][yPos] ~= "x" then
  104.         mon.setCursorPos(xPos, yPos)
  105.         mon.setBackgroundColor(colors.red)
  106.         mon.write(tblpad[xPos][yPos])
  107.         sleep(0.2)
  108.         mon.setCursorPos(xPos, yPos)
  109.         mon.setBackgroundColor(colors.green)
  110.         mon.write(tblpad[xPos][yPos])
  111.         press = press .. tblpad[xPos][yPos]
  112.         if string.len(press) == passlen and press == pass then
  113.             press = ""
  114.             opendoor()
  115.         elseif string.len(press) == passlen and press ~= pass then
  116.             press = ""
  117.             wrongpass()
  118.         end
  119.     end
  120. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement