Advertisement
Guest User

Untitled

a guest
Sep 21st, 2014
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --Dig Dug--
  2. local mined = {}
  3. local x,y = term.getSize()
  4. local round = 1
  5. local lives = 3
  6. local channel = "SinglePlayer"
  7. local Mult = false
  8. local Players = {}
  9. local noLagg = ""
  10.  
  11. local currentX = x/2
  12. local currentY = 2
  13. local direction = ">"
  14.  
  15. for i = 1,x do
  16. noLagg = noLagg.. "X"
  17. end
  18.  
  19. local function cPrint(text)
  20. local x,y = term.getSize()
  21. x2,y2 = term.getCursorPos()
  22. term.setCursorPos(math.ceil((x / 2) - (text:len() / 2)), y2)
  23. write(text)
  24. end
  25.  
  26.  
  27. function drawCursor()
  28. term.clear() --Clears the screen
  29. if lives < 0 then
  30. term.setCursorPos(1,3)
  31. cPrint("GAME OVER")
  32. sleep(2)
  33. error()
  34. else
  35. for v = 2,y-2 do
  36. term.setCursorPos(1,v)
  37. write(noLagg)
  38. end
  39.  
  40. term.setCursorPos(4,2)
  41. write("Y")
  42.  
  43. for i = 1,lives do
  44. term.setCursorPos(i,y)
  45. write(">")
  46. end
  47.  
  48.  
  49. term.setCursorPos(x-string.len("RND: " ..round),y)
  50. write("RND: " ..round)
  51.  
  52. for i = 1,#mined do
  53. if mined[i] then
  54. mined[i] = tostring(mined[i])
  55. minedX, minedY = string.match(mined[i], "(%-?%d+)/(%-?%d+)")
  56. term.setCursorPos(tonumber(minedX),tonumber(minedY))
  57. write(" ")
  58. --if currentX == minedX and currentY == minedY-1 then
  59. -- currentY = minedY
  60. --end
  61. end
  62. end
  63. term.setCursorPos(x-1,1)
  64. write("@")
  65. if currentY == 1 then currentY = 2 end
  66. if currentX == x then
  67. currentX = x-1
  68. elseif currentX == 0 then
  69. currentX = 1
  70. end
  71.  
  72. if Mult then
  73.  
  74. for i,kik in pairs(Players) do
  75. v = tostring(kik)
  76. if v then
  77. minedX, minedY = string.match(v, "(%-?%d+)/(%-?%d+)")
  78. if tonumber(minedX) then
  79. term.setCursorPos(tonumber(minedX),tonumber(minedY))
  80. write("I")
  81. mined[#mined+1] = kik
  82. end
  83. end
  84. end
  85. end
  86.  
  87. if Mult then
  88. term.setCursorPos(4,2)
  89. write("Y")
  90. end
  91. term.setCursorPos(currentX, currentY)
  92. write(direction)
  93. end
  94. end
  95.  
  96. function begin()
  97. while true do
  98. drawCursor()
  99. local e,key,message = os.pullEvent()
  100. if e == "key" then
  101. if key == 17 or key == 200 then --up
  102. mined[#mined+1] = currentX.. "/" ..currentY
  103. currentY = currentY -1
  104. direction = "^"
  105. elseif key == 31 or key == 208 then --down
  106. if currentY < y-1 then
  107. mined[#mined+1] = currentX.. "/" ..currentY
  108. currentY = currentY +1
  109. end
  110. direction = "v"
  111. elseif key == 203 or key == 30 then --left
  112. mined[#mined+1] = currentX.. "/" ..currentY
  113. currentX = currentX -1
  114. direction = "<"
  115. elseif key == 205 or key == 32 then --right
  116. mined[#mined+1] = currentX.. "/" ..currentY
  117. currentX = currentX +1
  118. direction = ">"
  119. end
  120.  
  121. if Mult then
  122. rednet.broadcast("[MM] ["..channel.."] " ..currentX.. "/" ..currentY)
  123. end
  124.  
  125. if currentX == 4 and currentY == 2 then
  126. if Mult then
  127. term.setCursorPos(1,1)
  128. write("The flower ate you.")
  129. sleep(1)
  130. lives = lives-100000
  131. end
  132. end
  133. elseif Mult and e == "rednet_message" then
  134. if string.sub(message, 1, string.len("[MM] [" ..channel.."] ")) == "[MM] [" ..channel.."] " then
  135. Players[key] = string.sub(message, string.len("[MM] [" ..channel.."] *"), string.len(message))
  136. end
  137. end
  138. end
  139. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement