require 'sdl'

SDL.init( SDL::INIT_VIDEO )
screen = SDL::setVideoMode(640,480,16,SDL::SWSURFACE)

require 'SYSTEM.rb'
require 'STATE.rb'
require 'CONST.rb'
require 'PLAYER.rb'

Key = Struct.new("Key",:left,:right,:jump,:send)

system=System.new

player=Player.new(system)
event=SDL::Event.new
key=Key.new

before=now=SDL::getTicks-1

while system.continue_game?
  if  event.poll != 0 then
    if event.type==SDL::Event::QUIT then
      break
    end
    if event.type==SDL::Event::KEYDOWN then
      exit if event.keySym==SDL::Key::ESCAPE
    end
  end
  SDL::Key::scan
  key.left = SDL::Key::press?(SDL::Key::LEFT)
  key.right = SDL::Key::press?(SDL::Key::RIGHT)
  key.jump = SDL::Key::press?(SDL::Key::UP)
  key.send = SDL::Key::press?(SDL::Key::DOWN)
  
  before=now
  now=SDL::getTicks
  dt=now-before
  
  player.act(key,dt)
 
  screen.fillRect(0,0,640,480,0)
  
  player.draw(screen)
  
  ObjectSpace.garbage_collect
  screen.flip
end


