Changeset 20276 for lang/ruby

Show
Ignore:
Timestamp:
09/30/08 14:56:23 (7 weeks ago)
Author:
authorNari
Message:

refactoring. to Ruby License

Location:
lang/ruby/nario
Files:
4 added
4 modified

Legend:

Unmodified
Added
Removed
  • lang/ruby/nario/README

    r17197 r20276  
     1= SUPER NARIO GC 
     2 
    13== title 
    24SUPRER NARIO GC 
     
    46== about 
    57いろんなObjectを横スクロールしながらGCしてゆくゲームです。 
     8 
     9== install 
     10各環境の動作方法について 
    611 
    712== for windows 
     
    1621と入力すると起動します。 
    1722 
     23== thanks packege 
     24*SDL 
     25  *author:slouken 
     26  *http://www.devolution.com/~slouken/ 
     27*ruby/sdl 
     28  *author:ohai 
     29  *http://www.kmc.gr.jp/~ohai/index.html 
     30*rskit 
     31  *author:yhara 
     32  *http://mono.kmc.gr.jp/~yhara/ 
    1833 
    19 == thanks packege 
    20 SDL 
    21 ruby/sdl 
    22 rskit 
    23  
    24  それぞれの作者の方、メンテナの方に感謝いたします。 
     34それぞれの作者の方、メンテナの方に感謝いたします。 
  • lang/ruby/nario/nario.rb

    r20191 r20276  
    33# http://d.hatena.ne.jp/authorNari/ 
    44# 
    5 # BSD License 
    6 # 
     5# Ruby License 
     6# http://www.ruby-lang.org/ja/LICENSE.txt 
    77 
    88$: << File.join(File.dirname(__FILE__), 'nario') 
  • lang/ruby/nario/nario/gamestart.rb

    r17193 r20276  
    1111require 'nario/material' 
    1212require 'nario/life' 
     13require 'nario/map' 
    1314 
     15# key config(SDL <--> nario) 
    1416class Input 
    1517  define_key SDL::Key::ESCAPE, :exit 
     
    2325end 
    2426 
    25 def map_init(screen) 
    26   map = Scene::Builder.new{ 
    27     mapping :title, ::Scene::Title.new { 
    28       success :map_1 
    29     } 
    30     mapping :map_1, ::Scene::FlowWorld.new{ 
    31       success :title 
    32       miss :title 
    33     } 
    34   }.scene_map 
    35  
    36   map[:title].screen_build { 
    37     background Material::BackGround.new_single_image(0, 0, SDL::Surface.load("nario/image/title.bmp")) 
    38   } 
    39  
    40   map[:map_1].screen_build { 
    41     sky 12000 
    42     ground 12000, 600 
    43  
    44     block Material::ItemBox.new(800, 420) 
    45     block Material::WeakBlock.new(1000, 420) 
    46     block Material::ItemBox.new(1047, 420) 
    47     block Material::WeakBlock.new(1094, 420) 
    48     block Material::ItemBox.new(1141, 420) 
    49     block Material::WeakBlock.new(1188, 420) 
    50     block Material::ItemBox.new(1094, 240) 
    51     block Material::Pipe.new(1370, 505) 
    52     block Material::Pipe.new(1840, 460) 
    53     block Material::Pipe.new(2280, 415) 
    54     block Material::Pipe.new(2720, 415) 
    55     block Material::WeakBlock.new(3730, 420) 
    56     block Material::ItemBox.new(3777, 420) 
    57     block Material::WeakBlock.new(3824, 420) 
    58     block Material::WeakBlock.new(3871, 240) 
    59     block Material::WeakBlock.new(3918, 240) 
    60     block Material::WeakBlock.new(3965, 240) 
    61     block Material::WeakBlock.new(4012, 240) 
    62     block Material::WeakBlock.new(4059, 240) 
    63     block Material::WeakBlock.new(4106, 240) 
    64     block Material::WeakBlock.new(4153, 240) 
    65     block Material::WeakBlock.new(4200, 240) 
    66     block Material::WeakBlock.new(4400, 240) 
    67     block Material::WeakBlock.new(4447, 240) 
    68     block Material::WeakBlock.new(4494, 240) 
    69     block Material::ItemBox.new(4541, 240) 
    70     block Material::WeakBlock.new(4541, 420) 
    71     block Material::WeakBlock.new(4900, 420) 
    72     block Material::WeakBlock.new(4947, 420) 
    73     block Material::ItemBox.new(5200, 420) 
    74     block Material::ItemBox.new(5300, 420) 
    75     block Material::ItemBox.new(5300, 240) 
    76     block Material::ItemBox.new(5400, 420) 
    77     block Material::WeakBlock.new(5600, 420) 
    78     block Material::WeakBlock.new(5750, 240) 
    79     block Material::WeakBlock.new(5797, 240) 
    80     block Material::WeakBlock.new(5844, 240) 
    81     block Material::WeakBlock.new(6050, 240) 
    82     block Material::ItemBox.new(6097, 240) 
    83     block Material::ItemBox.new(6144, 240) 
    84     block Material::WeakBlock.new(6191, 240) 
    85     block Material::WeakBlock.new(6097, 420) 
    86     block Material::WeakBlock.new(6144, 420) 
    87     block Material::Pipe.new(7900, 505) 
    88     block Material::WeakBlock.new(8150, 420) 
    89     block Material::WeakBlock.new(8197, 420) 
    90     block Material::ItemBox.new(8244, 420) 
    91     block Material::WeakBlock.new(8291, 420) 
    92     block Material::Pipe.new(8700, 505) 
    93  
    94  
    95     floor Material::Floor.new_fill_image(0, 600, 3270, 100, SDL::Surface.load("nario/image/floor_block.bmp")) 
    96     floor Material::Floor.new_fill_image(3420, 600, 700, 100, SDL::Surface.load("nario/image/floor_block.bmp")) 
    97     floor Material::Floor.new_fill_image(4300, 600, 3000, 100, SDL::Surface.load("nario/image/floor_block.bmp")) 
    98     floor Material::Floor.new_fill_image(7450, 600, 3000, 100, SDL::Surface.load("nario/image/floor_block.bmp")) 
    99  
    100  
    101     left_triangle_block Material::StrongBlock, 6350, 4 
    102     right_triangle_block Material::StrongBlock, 6650, 4 
    103     left_triangle_block Material::StrongBlock, 7082, 4, 5 
    104     right_triangle_block Material::StrongBlock, 7450, 4 
    105     left_triangle_block Material::StrongBlock, 8820, 8, 9 
    106  
    107     goal 9860 
    108  
    109     enemy Life::Kuribo.new(900, 550) 
    110     enemy Life::Kuribo.new(2000, 550) 
    111     enemy Life::Kuribo.new(2500, 550) 
    112     enemy Life::Kuribo.new(2560, 550) 
    113     enemy Life::Kuribo.new(3830, 200) 
    114     enemy Life::Kuribo.new(3890, 200) 
    115     enemy Life::Kuribo.new(4670, 550) 
    116     enemy Life::Kuribo.new(4730, 550) 
    117     enemy Life::NokoNoko.new(5100, 550) 
    118     enemy Life::Kuribo.new(5430, 550) 
    119     enemy Life::Kuribo.new(5490, 550) 
    120     enemy Life::Kuribo.new(5750, 550) 
    121     enemy Life::Kuribo.new(5810, 550) 
    122     enemy Life::Kuribo.new(6100, 550) 
    123     enemy Life::Kuribo.new(6160, 550) 
    124     enemy Life::Kuribo.new(8300, 550) 
    125     enemy Life::Kuribo.new(8360, 550) 
    126  
    127     player Life::Nario.new(200, 550) 
    128   } 
    129  
    130   map 
     27# nario make map 
     28def creation_nario_world(screen) 
     29  world = {} 
     30  world[:title] = ::Scene::Title.new { success :map1_1 } 
     31  world[:title].build_map &Map::TITLE 
     32  world[:map1_1] = ::Scene::FlowWorld.new { success :title; miss :title } 
     33  world[:map1_1].build_map &Map::MAP1_1 
     34  world 
    13135end 
    13236 
    133 def main 
     37def setup_sdl 
    13438  SDL.init(SDL::INIT_JOYSTICK) 
    13539  SDL::TTF.init 
     40  SDL.set_video_mode(Scene::SCREEN_WIDTH, Scene::SCREEN_HIGHT, 16, SDL::HWSURFACE|SDL::DOUBLEBUF) 
     41end 
    13642 
    137   screen = SDL.set_video_mode(Scene::SCREEN_WIDTH, Scene::SCREEN_HIGHT, 16, SDL::HWSURFACE|SDL::DOUBLEBUF) 
     43def go_nario! 
     44  screen = setup_sdl() 
     45  world = creation_nario_world(screen) 
    13846 
    13947  input = Input.new 
    140  
    141   map = map_init(screen) 
    142  
    143   scene = map[:title] 
    14448  timer = FPSTimerLight.new 
    14549  timer.reset 
     50  scene = world[:title] 
    14651 
    147   loop do 
     52  # main loop 
     53  loop { 
    14854    input.poll 
    14955    break if input[:exit] 
     
    15157    s_next = scene.act(input) 
    15258    scene.render(screen) 
    153     scene = map[s_next].rebuild if s_next 
    154     timer.wait_frame{ 
     59    scene = world[s_next].rebuild if s_next 
     60    timer.wait_frame { 
    15561      gc_start(screen) 
    156       if defined?(SDL::RELEASE_MODE) 
    157         screen.flip 
    158       else 
    159         screen.update_rect(0, 0, Scene::SCREEN_WIDTH, Scene::SCREEN_HIGHT) 
    160       end 
     62      screen.update_rect(0, 0, Scene::SCREEN_WIDTH, Scene::SCREEN_HIGHT) 
    16163    } 
    162   end 
     64  } 
    16365end 
    16466 
    165 main 
     67go_nario! 
  • lang/ruby/nario/nario/scene.rb

    r17319 r20276  
    4848    end 
    4949 
    50     def screen_build(&block) 
     50    def build_map(&block) 
    5151      @build_code = block 
    5252      instance_eval(&block)