/ld28

To get this branch, use:
bzr branch /bzr/ld28

« back to all changes in this revision

Viewing changes to player.lua

  • Committer: Josh C
  • Date: 2013-12-14 03:41:24 UTC
  • Revision ID: josh@9ix.org-20131214034124-vsekv7pyk6z5bvqf
basic delayed movement

Show diffs side-by-side

added added

removed removed

 
1
Player = Fill:extend {
 
2
   fill = {255,0,0},
 
3
   width = 16, height = 16,
 
4
   queue = deque.new(),
 
5
   onNew = function(self)
 
6
              for _ = 1, 4 do
 
7
                 self.queue:push_right('')
 
8
              end
 
9
           end,
 
10
   onStartFrame = function(self)
 
11
                     local keys = {the.keys:allJustPressed()}
 
12
                     for _, k in ipairs(keys) do
 
13
                        self.queue:push_right(k)
 
14
 
 
15
                        local inst = self.queue:pop_left()
 
16
                        if inst == 'left' then
 
17
                           self.x = self.x - self.width
 
18
                        elseif inst == 'right' then
 
19
                           self.x = self.x + self.width
 
20
                        elseif inst == 'up' then
 
21
                           self.y = self.y - self.height
 
22
                        elseif inst == 'down' then
 
23
                           self.y = self.y + self.height
 
24
                        end
 
25
                     end
 
26
                  end
 
27
}
 
 
'\\ No newline at end of file'