Advertisement
BigSHinyToys

RPG map basic example

Jun 5th, 2013
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.20 KB | None | 0 0
  1. local map = {
  2. "            ",
  3. "            ",
  4. "    !       ",
  5. "            ",
  6. "            ",
  7. "            ",
  8. "        +   ",
  9. "            ",
  10. "  =         ",
  11. "            ",
  12. "      $     ",
  13. "            ",
  14. "            ",
  15. }
  16.  
  17. local termX,termY = term.getSize()
  18. local posX = math.floor(termX/2)
  19. local posY = math.floor(termY/2)
  20. local text = ""
  21.  
  22. local function draw()
  23.     term.clear()
  24.     for y = 1,#map do
  25.         term.setCursorPos(1,y)
  26.         term.write(map[y])
  27.     end
  28.     term.setCursorPos(posX,posY)
  29.     term.write("@")
  30.     term.setCursorPos(1,termY)
  31.     term.write(text)
  32. end
  33.  
  34. while true do
  35.     draw()
  36.     local event = {os.pullEvent()}
  37.     if event[1] == "key" then
  38.         if event[2] == 200 then -- up key
  39.             posY = posY - 1
  40.         elseif event[2] == 208 then -- down key
  41.             posY = posY + 1
  42.         elseif event[2] == 203 then -- left
  43.             posX = posX - 1
  44.         elseif event[2] == 205 then -- right
  45.             posX = posX + 1
  46.         elseif event[2] == 14 then -- Press [Backspace] key to exit
  47.             break
  48.         end
  49.         if posY > termY then
  50.             posY = termY
  51.         elseif posY < 1 then
  52.             posY = 1
  53.         end
  54.         if posX > termX then
  55.             posX = termX
  56.         elseif posX < 1 then
  57.             posX = 1
  58.         end
  59.     end
  60.    
  61.     if map[posY] then
  62.         text = map[posY]:sub(posX,posX)
  63.     end
  64.    
  65. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement