Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2006-04-13

[MyGame]起動

test.rb

Image.draw('mglogo.bmp')
loop_game

次のようにして起動。

ruby -r mygame/boot.rb test.rb

というのはどうなんだろう。 mygame/boot.rb は余計なものといえば余計なものなんだけど、でも便利な機能がないと結局は最初に使ってもらえないという話もあるし(というか他人に使ってもらうつもりだったのか?いつの日かある程度の形になったら [ANN] MyGame 0.0.1 ってゆう ML 投げられる?)。

なんでこうしたいかというと HSP をみるとやっぱり require ... とか include ... とか init ... とか MyGame:: ... とかが邪魔なものに見えてきてしまって、なんか負けている気が。 Ruby の柔軟さならたとえ HSP の土俵でも勝負出来るというのを試してみたくて。

HSP 3.0 は、

picload "HSP3TTL.JPG" 

だけでよくなったのか。以前は最後に stop 必要だと思ったけど。 HSP だと自動的にスクリーンのサイズが画像のサイズに合うんだけど、あれかっこいいなあ。

mygame/boot.rb はこう書いてみた。

BEGIN {
  require 'mygame'
  include MyGame
  init_game
}

最初 require 'mygame' を BEGIN の外に書いちゃったのだけど、そうすると BEGIN の中が先に実行されてしまうのだ(考えてみれば当然だけど)。 BEGIN 使ったのって Ruby を初めて使った頃以来だ。

いちおう書いておくと、test.rb を次のように書けば、

require 'mygame'
include MyGame
init_game 640, 480

Image.draw('mglogo.bmp')
loop_game

スクリーンサイズその他、詳細な条件を設定した起動が可能だし、

ruby test.rb

で実行できます。