/ld26

To get this branch, use:
bzr branch http://9ix.org/bzr/ld26
5 by Josh C
load a level, move a player around
1
STRICT = true
2
DEBUG = true
3
4
require 'zoetrope'
5
6
--require 'sprite'
7
require 'version'
8
9
require 'player'
10
9 by Josh C
levels hash, scale player
11
levels = {
12
   forest1 = {
13
      objects = function() return {
14
                      Tile:new{image = 'data/forest1-bg.png'},
11 by Josh C
player min/maxY on a level
15
                      Player:new{x = 200, y = 370,
16
                                 minY = 330, maxY = 500,
17
                                 image = 'data/forest1-player.png'},
9 by Josh C
levels hash, scale player
18
                      Tile:new{image = 'data/forest1-fg.png'}
19
                   } end,
20
   },
21
   shore = {
22
      objects = function() return {
23
                      Tile:new{image = 'data/shore-bg.png'},
11 by Josh C
player min/maxY on a level
24
                      Player:new{x = 145, y = 133,
25
                                 minY = 133, maxY = 133,
26
                                 image = 'data/shore-player.png'},
9 by Josh C
levels hash, scale player
27
                      Tile:new{image = 'data/shore-fg.png'}
28
                   } end
29
   }
30
}
31
5 by Josh C
load a level, move a player around
32
GameView = View:extend {
33
   onNew = function (self)
8 by Josh C
add shore, first pass level switching
34
              self:newLevel('forest1')
5 by Josh C
load a level, move a player around
35
36
              --self:loadLayers('data/map.lua')
37
              --self.focus = the.player
38
              --self:clampTo(self.map)
39
           end,
40
   draw = function (self, x, y)
41
             View.draw(self, x, y)
42
             love.graphics.print('FPS:' .. love.timer.getFPS(), 20, 20)
7 by Josh C
show version
43
             love.graphics.print('version:' .. VERSION, 20, 570)
8 by Josh C
add shore, first pass level switching
44
          end,
45
   onUpdate = function (self, dt)
46
                 if the.keys:justPressed('a') then
47
                    self:newLevel('forest1')
48
                 elseif the.keys:justPressed('b') then
49
                    self:newLevel('shore')
50
                 end
51
              end,
52
   newLevel = function (self, level)
9 by Josh C
levels hash, scale player
53
                 self.sprites = levels[level].objects()
8 by Josh C
add shore, first pass level switching
54
              end
5 by Josh C
load a level, move a player around
55
}
56
57
the.app = App:new {
58
   onRun = function (self)
59
              self.view = GameView:new()
60
              if DEBUG then
61
                 self.console:watch('VERSION', 'VERSION')
62
                 self.console:watch('updateTook', 'the.updateTook')
63
                 --self.console:watch('drawTook', 'the.drawTook')
64
              end
65
           end,
66
   onUpdate = function (self, dt)
67
                 if the.keys:justPressed('escape') then
68
                    self.quit()
69
                 end
70
              end,
71
   update = function (self, dt)
72
               the.updateStart = love.timer.getMicroTime()
73
               App.update(self, dt)
74
               if the.updateStart then
75
                  the.updateTook = love.timer.getMicroTime() - the.updateStart
76
               end
77
            end
78
}