- Timestamp:
- 09/30/08 18:08:13 (2 months ago)
- Location:
- lang/ruby/nario
- Files:
-
- 6 added
- 5 removed
- 13 modified
-
TAGS (added)
-
nario.rb (modified) (2 diffs)
-
nario/factor.rb (modified) (1 diff)
-
nario/gamestart.rb (modified) (6 diffs)
-
nario/image/can.bmp (added)
-
nario/image/dustbin.bmp (added)
-
nario/image/kuribo.bmp (deleted)
-
nario/image/nokonoko.bmp (deleted)
-
nario/image/stop.bmp (added)
-
nario/life.rb (modified) (1 diff)
-
nario/life/can.rb (added)
-
nario/life/carapace.rb (modified) (2 diffs)
-
nario/life/dustbin.rb (added)
-
nario/life/enemy.rb (modified) (1 diff)
-
nario/life/kuribo.rb (deleted)
-
nario/life/nario.rb (modified) (1 diff)
-
nario/life/nokonoko.rb (deleted)
-
nario/map/map1_1.rb (modified) (1 diff)
-
nario/material.rb (modified) (1 diff)
-
nario/material/itemblock.rb (modified) (1 diff)
-
nario/material/itembox.rb (modified) (1 diff)
-
nario/scene.rb (modified) (9 diffs)
-
nario/scene/builder.rb (deleted)
-
nario/test.rb (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/ruby/nario/nario.rb
r20276 r20291 16 16 require 'optparse' 17 17 18 @gc_burden_mode= false19 @test_mode= false18 $GC_BURDEN_MODE = false 19 $TEST_MODE = false 20 20 opt = OptionParser.new 21 21 opt.version = "1.0.0" 22 opt.on('-g', '--gc', "To stop the world. and gc stop grafical mode :)") {|v| @gc_burden_mode= true}23 opt.on('-t', '--test', "test mode") {|v| @test_mode= true}22 opt.on('-g', '--gc', "To stop the world. and gc stop grafical mode :)") {|v| $GC_BURDEN_MODE = true} 23 opt.on('-t', '--test', "test mode") {|v| $TEST_MODE = true} 24 24 opt.parse!(ARGV) 25 25 26 26 # burden to nario and gc :) 27 if @gc_burden_mode27 if $GC_BURDEN_MODE 28 28 @@arry = [] 29 29 3000000.times{@@arry << Array.new} … … 41 41 @@skip += 1 42 42 end 43 else44 def gc_start(screen)45 end46 43 end 47 44 48 require 'gamestart' unless @test_mode49 require 'test' if @test_mode45 require 'gamestart' unless $TEST_MODE 46 require 'test' if $TEST_MODE -
lang/ruby/nario/nario/factor.rb
r17193 r20291 98 98 is_or_dead = (@is_dead or collide.is_dead) 99 99 # debug 100 #pp event if event[1].to_s == "collide_nario_head"100 puts "event! #{self}.#{event[0]} <--> #{collide}.#{event[1]}" if $DEBUG 101 101 collide.send(event[0], self) if collide.methods.map{|a| a.to_s}.include? event[0].to_s and !is_or_dead 102 102 send(event[1], collide) if methods.map{|b| b.to_s}.include? event[1].to_s and !is_or_dead -
lang/ruby/nario/nario/gamestart.rb
r20276 r20291 16 16 class Input 17 17 define_key SDL::Key::ESCAPE, :exit 18 define_key SDL::Key::Q, :exit 18 19 define_key SDL::Key::LEFT, :left 19 20 define_key SDL::Key::RIGHT, :right … … 23 24 define_key SDL::Key::A, :a 24 25 define_key SDL::Key::B, :b 26 define_key SDL::Key::S, :start 27 define_key SDL::Key::G, :go 25 28 end 26 29 … … 29 32 world = {} 30 33 world[:title] = ::Scene::Title.new { success :map1_1 } 31 world[:title].build_ map&Map::TITLE34 world[:title].build_scene &Map::TITLE 32 35 world[:map1_1] = ::Scene::FlowWorld.new { success :title; miss :title } 33 world[:map1_1].build_ map&Map::MAP1_136 world[:map1_1].build_scene &Map::MAP1_1 34 37 world 35 38 end … … 39 42 SDL::TTF.init 40 43 SDL.set_video_mode(Scene::SCREEN_WIDTH, Scene::SCREEN_HIGHT, 16, SDL::HWSURFACE|SDL::DOUBLEBUF) 44 end 45 46 def stop?(input, screen) 47 if input.start 48 screen.put(SDL::Surface.load("nario/image/stop.bmp"), 270, 270) 49 screen.update_rect(0, 0, Scene::SCREEN_WIDTH, Scene::SCREEN_HIGHT) 50 @stop = true 51 end 52 if input.go 53 @stop = false 54 end 55 return @stop 41 56 end 42 57 … … 54 69 input.poll 55 70 break if input[:exit] 71 redo if stop?(input, screen) 56 72 57 73 s_next = scene.act(input) … … 59 75 scene = world[s_next].rebuild if s_next 60 76 timer.wait_frame { 61 gc_start (screen)77 gc_start if $GC_BURDEN_MODE 62 78 screen.update_rect(0, 0, Scene::SCREEN_WIDTH, Scene::SCREEN_HIGHT) 63 79 } -
lang/ruby/nario/nario/life.rb
r17193 r20291 159 159 autoload :Nario, "life/nario" 160 160 autoload :Enemy, "life/enemy" 161 autoload : Kuribo, "life/kuribo"162 autoload : NokoNoko, "life/nokonoko"161 autoload :Can, "life/can" 162 autoload :Dustbin, "life/dustbin" 163 163 autoload :Carapace, "life/carapace" 164 164 end -
lang/ruby/nario/nario/life/carapace.rb
r17193 r20291 26 26 27 27 # collision parts 28 def head_range; {:x_range => (@x+@w/2-10)..(@x+@w/2+10), :y_range => (@y+10)..(@y+@h/2), :event => :collide_ kuribo_head}; end28 def head_range; {:x_range => (@x+@w/2-10)..(@x+@w/2+10), :y_range => (@y+10)..(@y+@h/2), :event => :collide_can_head}; end 29 29 30 30 # collision event … … 32 32 def collide_nario_right(m); set_direction(1); end 33 33 def collide_nario_left(m); set_direction(-1); end 34 undef collide_ kuribo_left35 undef collide_ kuribo_right34 undef collide_can_left 35 undef collide_can_right 36 36 undef collide_nokonoko_left 37 37 undef collide_nokonoko_right -
lang/ruby/nario/nario/life/enemy.rb
r17193 r20291 7 7 alias collide_weakblock_head collide_floor_head 8 8 alias collide_itembox_head collide_weakblock_head 9 alias collide_ kuribo_left collide_strongblock_left10 alias collide_ kuribo_right collide_strongblock_right11 alias collide_ nokonoko_left collide_strongblock_left12 alias collide_ nokonoko_right collide_strongblock_right9 alias collide_can_left collide_strongblock_left 10 alias collide_can_right collide_strongblock_right 11 alias collide_dustbin_left collide_strongblock_left 12 alias collide_dustbin_right collide_strongblock_right 13 13 alias collide_pipe_left collide_strongblock_left 14 14 alias collide_pipe_right collide_strongblock_right -
lang/ruby/nario/nario/life/nario.rb
r17193 r20291 29 29 30 30 # collision event 31 def collide_ kuribo_right(k); @movie_event = :movie_die; end;32 alias collide_ kuribo_left collide_kuribo_right33 alias collide_ kuribo_foot collide_kuribo_right34 def collide_ kuribo_head(k); force_jump; end35 alias collide_ nokonoko_right collide_kuribo_right36 alias collide_ nokonoko_left collide_kuribo_left37 alias collide_ nokonoko_foot collide_kuribo_foot38 alias collide_ nokonoko_head collide_kuribo_head31 def collide_can_right(k); @movie_event = :movie_die; end; 32 alias collide_can_left collide_can_right 33 alias collide_can_foot collide_can_right 34 def collide_can_head(k); force_jump; end 35 alias collide_dustbin_right collide_can_right 36 alias collide_dustbin_left collide_can_left 37 alias collide_dustbin_foot collide_can_foot 38 alias collide_dustbin_head collide_can_head 39 39 def collide_carapace_right(c); @movie_event = :movie_die if c.violence?; c.x-=10; end; 40 40 def collide_carapace_left(c); @movie_event = :movie_die if c.violence?; c.x+=10; end; -
lang/ruby/nario/nario/map/map1_1.rb
r20276 r20291 69 69 goal 9860 70 70 71 enemy Life:: Kuribo.new(900, 550)72 enemy Life:: Kuribo.new(2000, 550)73 enemy Life:: Kuribo.new(2500, 550)74 enemy Life:: Kuribo.new(2560, 550)75 enemy Life:: Kuribo.new(3830, 200)76 enemy Life:: Kuribo.new(3890, 200)77 enemy Life:: Kuribo.new(4670, 550)78 enemy Life:: Kuribo.new(4730, 550)79 enemy Life:: NokoNoko.new(5100, 550)80 enemy Life:: Kuribo.new(5430, 550)81 enemy Life:: Kuribo.new(5490, 550)82 enemy Life:: Kuribo.new(5750, 550)83 enemy Life:: Kuribo.new(5810, 550)84 enemy Life:: Kuribo.new(6100, 550)85 enemy Life:: Kuribo.new(6160, 550)86 enemy Life:: Kuribo.new(8300, 550)87 enemy Life:: Kuribo.new(8360, 550)71 enemy Life::Can.new(900, 550) 72 enemy Life::Can.new(2000, 550) 73 enemy Life::Can.new(2500, 550) 74 enemy Life::Can.new(2560, 550) 75 enemy Life::Can.new(3830, 200) 76 enemy Life::Can.new(3890, 200) 77 enemy Life::Can.new(4670, 550) 78 enemy Life::Can.new(4730, 550) 79 enemy Life::Dustbin.new(5100, 550) 80 enemy Life::Can.new(5430, 550) 81 enemy Life::Can.new(5490, 550) 82 enemy Life::Can.new(5750, 550) 83 enemy Life::Can.new(5810, 550) 84 enemy Life::Can.new(6100, 550) 85 enemy Life::Can.new(6160, 550) 86 enemy Life::Can.new(8300, 550) 87 enemy Life::Can.new(8360, 550) 88 88 89 89 player Life::Nario.new(200, 550) -
lang/ruby/nario/nario/material.rb
r17193 r20291 6 6 7 7 def initialize(x, y, w, h, img=nil, color=nil) 8 @fill_mtls = nil 9 @img = nil 8 10 img.set_color_key(SDL::SRCCOLORKEY, [255, 255, 255]) if img 9 11 super(x, y, w, h, img) -
lang/ruby/nario/nario/material/itemblock.rb
r17193 r20291 20 20 @bound_prev_y = @y 21 21 @frame = 0 22 @now_scene.i tem(@item)22 @now_scene.in(:item, @item) 23 23 undef :collide_nario_head 24 24 end -
lang/ruby/nario/nario/material/itembox.rb
r17193 r20291 26 26 @frame = 0 27 27 @item = JumpCoin.new(@x + 7, @y - 70) 28 @now_scene.i tem(@item)28 @now_scene.in(:item, @item) 29 29 @empyt_item = true 30 30 end -
lang/ruby/nario/nario/scene.rb
r20276 r20291 31 31 @player = nil 32 32 @renders = [@flows] 33 @deploy_table = [] 34 end 35 33 @lazy_deploys = [] 34 end 35 36 def success(nxt) 37 @success = nxt 38 end 39 40 def miss(nxt) 41 @miss = nxt 42 end 43 44 def in(type, *args) 45 send(type, *args) 46 end 47 36 48 def rebuild 37 49 init … … 40 52 end 41 53 42 def success(nxt) 43 @success = nxt 44 end 45 46 def miss(nxt) 47 @miss = nxt 48 end 49 50 def build_map(&block) 54 def build_scene(&block) 51 55 @build_code = block 52 56 instance_eval(&block) … … 54 58 end 55 59 60 private 56 61 def background(bg) 57 62 code = lambda { … … 60 65 } 61 66 @flows << bg 62 @deploy_table << [bg, code]67 add_lazydeploy(bg, code) 63 68 end 64 69 … … 70 75 @floors << fl 71 76 @flows << fl 72 @deploy_table << [fl, code]77 add_lazydeploy(fl, code) 73 78 end 74 79 … … 85 90 } 86 91 @flows << enemy 87 @deploy_table << [enemy, code]92 add_lazydeploy(enemy, code) 88 93 end 89 94 … … 96 101 @floors << block 97 102 @flows << block 98 @deploy_table << [block, code]103 add_lazydeploy(block, code) 99 104 end 100 105 … … 105 110 @actions << it 106 111 } 107 @deploy_table << [it, code]112 add_lazydeploy(it, code) 108 113 end 109 114 … … 179 184 end 180 185 181 def act(input); end182 def render(screen); end183 184 private185 186 def deploy 186 @ deploy_table.size.times{|i|187 if @deploy_table[i][0].x < (SCREEN_WIDTH + SCREEN_WIDTH/2)188 @deploy_table[i][1].call189 @ deploy_table[i] = nil187 @lazy_deploys.each_with_index {|e, i| 188 if e[:object].x < (SCREEN_WIDTH + SCREEN_WIDTH/2) 189 e[:deploy_code].call 190 @lazy_deploys[i] = nil 190 191 end 191 192 } 192 @deploy_table.compact! 193 @lazy_deploys.compact! 194 end 195 196 def add_lazydeploy(object, deploy_code) 197 @lazy_deploys << {:object => object, :deploy_code => deploy_code} 193 198 end 194 199 -
lang/ruby/nario/nario/test.rb
r17193 r20291 103 103 # floor Material::Floor.new_color(0, 600, 800, 300, [0xcc, 0x66, 0x66]) 104 104 # floor Material::Floor.new_color(1000, 600, 800, 300, [0xcc, 0x66, 0x66]) 105 enemy Life:: Kuribo.new(500, 200)105 enemy Life::Can.new(500, 200) 106 106 player Life::Nario.new(40, 200) 107 107 } … … 121 121 # floor Material::Floor.new_color(0, 600, 800, 300, [0xcc, 0x66, 0x66]) 122 122 # floor Material::Floor.new_color(1000, 600, 800, 300, [0xcc, 0x66, 0x66]) 123 enemy Life:: Kuribo.new(100, 0)124 enemy Life:: Kuribo.new(200, 0)125 enemy Life:: Kuribo.new(300, 0)126 enemy Life:: Kuribo.new(400, 0)127 enemy Life:: Kuribo.new(500, 0)128 enemy Life:: Kuribo.new(600, 0)129 enemy Life:: Kuribo.new(700, 0)123 enemy Life::Can.new(100, 0) 124 enemy Life::Can.new(200, 0) 125 enemy Life::Can.new(300, 0) 126 enemy Life::Can.new(400, 0) 127 enemy Life::Can.new(500, 0) 128 enemy Life::Can.new(600, 0) 129 enemy Life::Can.new(700, 0) 130 130 player Life::Nario.new(40, 590) 131 131 } … … 152 152 block Material::WeakBlock.new(376, 500) 153 153 block Material::ItemBox.new(420, 500) 154 enemy Life:: NokoNoko.new(300, 0)154 enemy Life::Dustbin.new(300, 0) 155 155 player Life::Nario.new(40, 590) 156 156 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)