Shuudoushi

MineDwarf

Oct 4th, 2012
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.08 KB | None | 0 0
  1. shell.run('mem/redworks/apis/redworks')
  2.  
  3. --Sprites
  4. psprite = {}
  5. psprite.up = '^'
  6. psprite.down = 'V'
  7. psprite.right = '>'
  8. psprite.left = '<'
  9. psprite.select = '-->'
  10.  
  11. --Functions
  12.  
  13. player = entity.new('Player', 5, 5, psprite.up, true, true)
  14. entity.addvar(player, 'num', 1)
  15. title = entity.new('title', 1, 1, 'MineDwarf: Beginnings   Press Backspace to Exit', true, false)
  16. entity.setabs(title, true)
  17. debug = entity.new('Debug', 2, 2, ' ', true, false)
  18. entity.setabs(debug, true)
  19.  
  20. commands = entity.new('Command Bar', 1, window.h, 'E: Interact', true, false)
  21. entity.setabs(commands, true)
  22.  
  23. wall = {}
  24. wallnum = 1
  25.  
  26. function wall.new(x,y)
  27.     wall[wallnum] = entity.new('Wall', x, y, '=', true, true )
  28.     wallnum = wallnum+1
  29. end
  30.  
  31. room = {}
  32.  
  33. function room.new(x1,y1,x2,y2)
  34.     write('newroom')
  35.     i=0
  36.     while i < x2-x1+1 do
  37.         wall.new(x1+i,y1)
  38.         i= i+1
  39.     end
  40.     i=0
  41.     while i < x2-x1+1 do
  42.         wall.new(x1+i,y2)
  43.         i= i+1
  44.     end
  45.     i=0
  46.     while i < y2-y1+1 do
  47.         if i ~= 4 then
  48.             wall.new(x1, y1+i)
  49.         end
  50.         i= i+1
  51.     end
  52.     i=0
  53.     while i < y2-y1+1 do
  54.         wall.new(x2, y1+i)
  55.         i= i+1
  56.     end
  57. end
  58.  
  59. room.new(7,7,15,15)
  60.  
  61. --[[||||| KEY EXECUTION |||||]]--
  62. function exec.key(k)
  63.     --Up
  64.     if k == 17 then
  65.         entity.setpos( player, 0, -1, true )
  66.         entity.setvar(player, 'num', entity.getvar(player, 'num') + 1 )
  67.         entity.setchar( player, psprite.up )
  68.     end
  69.     --Down
  70.     if k == 31 then
  71.         entity.setpos( player, 0, 1, true )
  72.         entity.setvar(player, 'num', entity.getvar(player, 'num') + 1 )
  73.         entity.setchar( player, psprite.down )
  74.     end
  75.     --Left
  76.     if k == 30 then
  77.         entity.setpos( player, -1, 0, true )
  78.         entity.setvar(player, 'num', entity.getvar(player, 'num') + 1 )
  79.         entity.setchar( player, psprite.left )
  80.     end
  81.     --Right
  82.     if k == 32 then
  83.         entity.setpos( player, 1, 0, true )
  84.         entity.setvar(player, 'num', entity.getvar(player, 'num') + 1 )
  85.         entity.setchar( player, psprite.right )
  86.     end
  87.    
  88.     if k == 18 then
  89.         check = false
  90.         local x = entity.getposx(player)
  91.         local y = entity.getposy(player)
  92.         local facing = entity.getvar(player, 'Character')
  93.         if facing == psprite.up then
  94.             check = get.locphys(x, y-1)
  95.         elseif facing == psprite.down then
  96.             check = get.locphys(x, y+1)
  97.         elseif facing == psprite.right then
  98.             check = get.locphys(x+1, y)
  99.         elseif facing == psprite.left then
  100.             check = get.locphys(x-1, y)
  101.         end
  102.        
  103.         if check then
  104.             check = entity.getvar(check, 'Name')
  105.             if check == 'Wall' then
  106.                 entity.setchar(debug, "That's a wall")
  107.                 time.text = 1
  108.             end
  109.         end
  110.     end
  111.        
  112.    
  113.            
  114.    
  115.     --[[Screen]]--
  116.     --[[
  117.     --Up
  118.     if k == 200 then
  119.         screen.y = screen.y - 1
  120.     end
  121.     --Down
  122.     if k == 208 then
  123.         screen.y = screen.y + 1
  124.     end
  125.     --Left
  126.     if k == 203 then
  127.         screen.x = screen.x - 1
  128.     end
  129.     --Right
  130.     if k == 205 then
  131.         screen.x = screen.x + 1
  132.     end
  133.     ]]--
  134. end
  135.  
  136. time = {}
  137. time.text = 0
  138. function exec.step()
  139.     if time.text ~= 0 then
  140.         time.text = time.text+1
  141.     end
  142.     if time.text == 50 then
  143.         time.text = 0
  144.         entity.setchar(debug, ' ')
  145.     end
  146.     --[[Window Follow]]--
  147.     screen.x = entity.getposx(player) - window.midw
  148.     screen.y = entity.getposy(player) - window.midh
  149. end
  150.  
  151. exec.start()
Add Comment
Please, Sign In to add comment