Subsidedgibbon0

RC_Computer

Jan 27th, 2015
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. print("ID?")
  2. ID = tonumber(read())
  3.  
  4. map = {}
  5. for i=1,90 do
  6. map[i] = {}
  7. for j=1,90 do
  8. map[i][j] = 3
  9. end
  10. end
  11.  
  12. xOff = 20
  13. yOff = 36
  14. x = 45
  15. prevX = 45
  16. y = 45
  17. prevY = 45
  18. playerChar = 94
  19. Ready = true
  20.  
  21. function ScreenUpdate(x, y)
  22. term.clear()
  23. for xa = 1,50 do
  24. for ya = 1,18 do
  25. mapXY = map[xa + x][ya + y]
  26. if mapXY == 0 then
  27. term.setCursorPos(xa,ya)
  28. term.write("#")
  29. end
  30. if mapXY == 1 then
  31. term.setCursorPos(xa,ya)
  32. term.write(string.char(playerChar))
  33. end
  34. if mapXY == 2 then
  35. term.setCursorPos(xa,ya)
  36. term.write("-")
  37. end
  38. end
  39. end
  40. for xa = 46,50 do
  41. for ya = 15,18 do
  42. term.setCursorPos(xa,ya)
  43. if Ready == true then
  44. term.write("!")
  45. else
  46. term.write(" ")
  47. end
  48. end
  49. end
  50. end
  51.  
  52. function matrixUpdate()
  53. map[prevX][prevY] = 2
  54. map[x][y] = 1
  55. prevX = x
  56. prevY = y
  57. end
  58.  
  59.  
  60. function parse(s)
  61. if s:sub(1,1) == "0" then
  62. map[tonumber(s:sub(2,3))][tonumber(s:sub(4,5))] = tonumber(s:sub(6,6))
  63. end
  64.  
  65. if s:sub(1,1) == "1" then
  66. Ready = true
  67. ScreenUpdate(xOff,yOff)
  68. end
  69.  
  70. if s:sub(1,1) == "2" then
  71. xOff = tonumber(s:sub(2,3))
  72. yOff = tonumber(s:sub(4,5))
  73. x = tonumber(s:sub(6,7))
  74. y = tonumber(s:sub(8,9))
  75. matrixUpdate()
  76. end
  77. end
  78.  
  79. rednet.open("back")
  80. term.setCursorBlink(false)
  81. matrixUpdate()
  82. ScreenUpdate(0,0)
  83. repeat
  84. local Event, key, key2 = os.pullEvent()
  85. if Event == "rednet_message" then
  86. parse(key2)
  87. end
  88.  
  89. if Event == "key" and Ready == true then
  90. if key == 17 then
  91. if playerChar == 94 then
  92. rednet.send(ID, "1")
  93. else
  94. rednet.send(ID, "00")
  95. playerChar = 94
  96. end
  97. Ready = false
  98. end
  99. if key == 30 then
  100. if playerChar == 60 then
  101. rednet.send(ID, "1")
  102. else
  103. rednet.send(ID, "03")
  104. playerChar = 60
  105. end
  106. Ready = false
  107. end
  108. if key == 31 then
  109. if playerChar == 118 then
  110. rednet.send(ID, "1")
  111. else
  112. rednet.send(ID, "02")
  113. playerChar = 118
  114. end
  115. Ready = false
  116. end
  117. if key == 32 then
  118. if playerChar == 62 then
  119. rednet.send(ID, "1")
  120. else
  121. rednet.send(ID, "01")
  122. playerChar = 62
  123. end
  124. Ready = false
  125. end
  126. if key == 57 then
  127. rednet.send(ID, "2")
  128. Ready = false
  129. end
  130. if key == 18 then
  131. rednet.send(ID, "3")
  132. Ready = false
  133. end
  134. if key == 16 then
  135. rednet.send(ID, "4")
  136. Ready = false
  137. end
  138. ScreenUpdate(xOff, yOff)
  139. end
  140. until Event == "key" and key == 25
  141. term.clear()
  142. rednet.close("back")
Add Comment
Please, Sign In to add comment