Advertisement
Guest User

maptest.op

a guest
Dec 9th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.14 KB | None | 0 0
  1. #local map = require("mapa")
  2. smap 1 "mapa"
  3.  
  4. #local event = require("event")
  5. sevent 1 "event"
  6.  
  7. #local serialization = require("serialization")
  8. sserialization 1 "serialization"
  9.  
  10. #local modem = require("component").modem
  11. scomponent 1 "component"
  12. smodem value component.modem
  13.  
  14. #modem.open(1)
  15. 2 modem.open 1
  16.  
  17. #local args = {...}
  18. sargs 3 ...
  19.  
  20. @lua function illegalPlayer(pname) end
  21.  
  22. @lua function invalidMove(pname, oldPos, newPos) end
  23.  
  24. 2 component.glasses.removeAll
  25.  
  26. @lua function pyth(x,y) return o4((x ^ 2) + (y ^ 2)) end
  27.  
  28. svalidMoves value {[{10,14}]={{10,15}},[{10,15}]={{10,14},{10,16}},[{10,16}]={{10,15}}}
  29.  
  30. sscale 7 args[1]
  31. sscale 6 scale 2
  32. smap.SCALE value scale
  33.  
  34. ssize 7 args[2]
  35. ssize 6 size 30
  36. 2 map.start 0 0 size
  37.  
  38. steam value {}
  39. @lua team[ "natan12_" ]=map.addAlly(10,15)
  40.  
  41. swalls value {}
  42. 8 walls map.addWallV(9,14,3)
  43. 8 walls map.addWallV(11,14,3)
  44. 8 walls map.addWallH(9,17,3)
  45. 8 walls map.addWallH(9,13,3)
  46.  
  47. ssave value args[3]=="save"
  48. ssave value (save)and(map.snapshot)
  49. 10 save o9 map.snapshot "/mnt/230/map-snapshot.png"
  50.  
  51. sprint value o12
  52. @lua function main()
  53. @lua  while true do
  54. @lua a,_,s,_,_,m = event.pull( "modem" )
  55. @lua t = serialization.unserialize(m)
  56. @lua if t.p and not team[t.p] then
  57. @lua  print(t.p, "Illegal player" , s)
  58. @lua  illegalPlayer(t.p)
  59. @lua elseif t.p then
  60. @lua  local posX, posY = team[t.p].getPosition()
  61. @lua  posX = posX/map.SCALE
  62. @lua  posY = posY/map.SCALE
  63. @lua  local pos = {posX, posY}
  64. @lua  local newPos = {t.x, t.y}
  65. @lua  local valid = false
  66. @lua  if o5(pos, newPos) then valid = true
  67. @lua  else fpairs(validMoves, function(k,v,e)
  68. @lua   if o5(k, pos) then
  69. @lua    fpairs(v, function(k2,v2,e2)
  70. @lua     if o5(newPos, v2) then valid = true e() e2() end
  71. @lua    end)
  72. @lua  end
  73. @lua end) end
  74. @lua if not valid then
  75. @lua  print(t.p, "Invalid move:" , pos[1] .. "," .. pos[2] .. "to" .. newPos[1] .. "," .. newPos[2], "Distance =" .. pyth(newPos[1]-pos[1], newPos[2]-pos[2]))
  76. @lua  invalidMove(t.p, pos, newPos)
  77. @lua else
  78. @lua  team[t.p].setPosition(newPos[1] * map.SCALE, newPos[2] * map.SCALE)
  79. @lua end
  80. @lua end
  81. @lua  end
  82. @lua end
  83. 9 main
  84.  
  85. 2 map.remove map.map
  86. 2 map.remove map.frame
  87. @lua function remove(_,v) map.remove(v) end
  88. 11 walls remove
  89. 11 team remove
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement