Advertisement
theobjop

Untitled

Apr 24th, 2012
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.52 KB | None | 0 0
  1. term.clear()
  2. term.setCursorPos(1,1)
  3.  
  4. local currentX = 25
  5. local currentY = 9
  6. local currentX2 = 24
  7. local currentY2 = 8
  8. local sprite = "1"
  9. local sprite2 = "2"
  10. local tries = "0"
  11. local player = 0
  12.  
  13. function drawSprite()
  14.     term.clear()
  15.     term.setCursorPos(1,1)
  16.     write "Singleplayer"
  17.     term.setCursorPos(43,1)
  18.     write ("(".. currentX ..",".. currentY ..")")
  19.     term.setCursorPos(currentX,currentY)
  20.     write(sprite)
  21.     movement()
  22. end
  23.  
  24. function drawSpriteMulti()
  25.     term.setCursorPos(1,1)
  26.     term.clear()
  27.     term.setCursorPos(currentX,currentY)
  28.     write(sprite)
  29.     term.setCursorPos(currentX2,currentY2)
  30.     write(sprite2)
  31.     if player == 1 then
  32.         term.setCursorPos(1,1)
  33.         write "Multiplayer"
  34.         term.setCursorPos(43,1)
  35.         write ("(".. currentX ..",".. currentY ..")")
  36.         movementMulti()
  37.     elseif player == 2 then
  38.         term.setCursorPos(1,1)
  39.         write "Multiplayer"
  40.         term.setCursorPos(43,1)
  41.         write ("(".. currentX2 ..",".. currentY2 ..")")
  42.         movementMulti2()
  43.     end
  44. end
  45.  
  46. function connect()
  47.     print "1:) Host"
  48.     print "2:) Join"
  49.     input = read()
  50.     if input == "1" then
  51.         player = 1
  52.         print "OK... Waiting for IP to join"
  53.         while true do
  54.             id, msg = rednet.receive()
  55.             sleep(.1)
  56.             tries = tries + 1
  57.             if tries > 1000 then
  58.                 print "Timed out"
  59.             elseif msg == "connect" then
  60.                 local player2 = id
  61.                 drawSpriteMulti()
  62.             end
  63.         end
  64.     elseif input == "2" then
  65.         player = 2
  66.         write "Enter the ip of who you want to connect to: "
  67.         local c = tonumber(read())
  68.         while true do
  69.             sleep(.1)
  70.             rednet.send(c, "connect")
  71.             sleep(1)
  72.             drawSpriteMulti()
  73.         end
  74.     end
  75. end
  76.  
  77. function open()
  78.     rednet.open("top")
  79.     rednet.open("back")
  80.     rednet.open("left")
  81.     rednet.open("right")
  82.     rednet.open("left")
  83. end
  84.  
  85. function movementMulti()
  86.     while true do
  87.         event, key, command = os.pullEvent()
  88.         if event == "key" and key == 17 and currentY >= 1 then
  89.             currentY = currentY - 1
  90.             rednet.send(player2, "up")
  91.             drawSpriteMulti()
  92.         elseif event == "key" and key == 31 and currentY <= 18 then
  93.             currentY = currentY + 1
  94.             rednet.send(player2, "down")
  95.             drawSpriteMulti()
  96.         elseif event == "key" and key == 30 and currentX >= 1 then
  97.             currentX = currentX - 1
  98.             rednet.send(player2, "left")
  99.             drawSpriteMulti()
  100.         elseif event == "key" and key == 32 and currentX <= 50 then
  101.             currentX = currentX + 1
  102.             rednet.send(player2, "right")
  103.             drawSpriteMulti()
  104.        
  105.         elseif event == "rednet_message" then
  106.             if key == player2 and command == "up" then
  107.                 currentY2 = currentY2 - 1
  108.                 drawSpriteMulti()
  109.             elseif key == player2 and command == "down" then
  110.                 currentY2 = currentY2 + 1
  111.                 drawSpriteMulti()
  112.             elseif key == player2 and command == "left" then
  113.                 currentX2 = currentX2 - 1
  114.                 drawSpriteMulti()
  115.             elseif key == player2 and command == "right" then
  116.                 currentX2 = currentX2 + 1
  117.                 drawSpriteMulti()
  118.             else
  119.                 drawSpriteMulti()
  120.             end
  121.         end
  122.     end
  123. end
  124.  
  125. function movementMulti2()
  126.     while true do
  127.         event, key, command = os.pullEvent()
  128.         if event == "key" and key == 17 then
  129.             currentY2 = currentY2 - 1
  130.             rednet.send(c, "up")
  131.             drawSpriteMulti()
  132.         elseif event == "key" and key == 31 then
  133.             currentY2 = currentY2 + 1
  134.             rednet.send(c, "down")
  135.             drawSpriteMulti()
  136.         elseif event == "key" and key == 30 then
  137.             currentX2 = currentX2 - 1
  138.             rednet.send(c, "left")
  139.             drawSpriteMulti()
  140.         elseif event == "key" and key == 32 then
  141.             currentX2 = currentX2 + 1
  142.             rednet.send(c, "right")
  143.             drawSpriteMulti()
  144.        
  145.         elseif event == "rednet_message" then
  146.             if key == c and command == "up" then
  147.                 currentY = currentY - 1
  148.                 drawSpriteMulti()
  149.             elseif key == c and command == "down" then
  150.                 currentY = currentY + 1
  151.                 drawSpriteMulti()
  152.             elseif key == c and command == "left" then
  153.                 currentX = currentX - 1
  154.                 drawSpriteMulti()
  155.             elseif key == c and command == "right" then
  156.                 currentX = currentX + 1
  157.                 drawSpriteMulti()
  158.             end
  159.         end
  160.     end
  161. end
  162.  
  163. function movement()
  164.     event, key = os.pullEvent()
  165.     if event == "key" and key == 17 and currentY >= 1 then
  166.         currentY = currentY - 1
  167.         drawSprite()
  168.     elseif event == "key" and key == 31 and currentY <= 18 then
  169.         currentY = currentY + 1
  170.         drawSprite()
  171.     elseif event == "key" and key == 30 and currentX >= 1 then
  172.         currentX = currentX - 1
  173.         drawSprite()
  174.     elseif event == "key" and key == 32 and currentX <= 50 then
  175.         currentX = currentX + 1
  176.         drawSprite()
  177.     end
  178. end
  179.  
  180. open()
  181. print "How would you like to play?"
  182. print "1:) Singleplayer (boring)"
  183. print "2:) Multiplayer (EPIC)"
  184. input = read()
  185. if input == "1" then
  186.     drawSprite()
  187. elseif input == "2" then
  188.     connect()
  189. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement