Rubyではじめるゲームプログラミング―人気の国産言語で、誰でも簡単にゲームが作れる! (I・O BOOKS) の感想
参照データ
タイトル | Rubyではじめるゲームプログラミング―人気の国産言語で、誰でも簡単にゲームが作れる! (I・O BOOKS) |
発売日 | 販売日未定 |
製作者 | 山本 団 |
販売元 | 工学社 |
JANコード | 9784777512928 |
カテゴリ | ジャンル別 » コンピュータ・IT » プログラミング » Ruby |
購入者の感想
というか、本が書かれた時と、MyGameライブラリの仕様が変わったのだろうと思うのですが、
サポートサイトにもその事が書いていないのはどうかと思いました。
■P.121
×img = Image.new("sample.bmp",200, 200)
○img = Image.new("sample.bmp",:x=>200, :y=>200)
■P.135
×fnt.str = "ABC"
○fnt.string = "ABC"
あと、短縮というか、エレガントにコードが書かれすぎていて、
理解が難しくなっている部分が多い気がします。
例えば■P.219のコード
punyas = Array.new(6){|i| Punya.new(i)}
は
punyas = Array.new(6) do |i|
Punya.new(i)
end
のほうが理解しやすいですよね。
■P.145の「mygame/boot」を使わない方法、で、
require ’mygame’
MyGame.create_screen 320,240
MyGame.main_loop do
MyGame.Image.render "sample.bmp"
end
がどうしても動作しません。
■P.247 表示物を描画するだけのプログラム
これは、1行目に、教本の通り #!ruby -Ks が入っていると、"2行目のテキストです"等の日本語表示が出来なくなります。
あと、本に書かれていない事がプログラム上でされている場合が多く、データは付属しているとはいえ、本の部分だけでは動作しないのはどうかと思います。
■P.267 選択肢
command_clear メソッドに、以下の文を加えないと動作しない。
@choices = []
@cursor_idx = nil
他、command_jumpメソッドに
サポートサイトにもその事が書いていないのはどうかと思いました。
■P.121
×img = Image.new("sample.bmp",200, 200)
○img = Image.new("sample.bmp",:x=>200, :y=>200)
■P.135
×fnt.str = "ABC"
○fnt.string = "ABC"
あと、短縮というか、エレガントにコードが書かれすぎていて、
理解が難しくなっている部分が多い気がします。
例えば■P.219のコード
punyas = Array.new(6){|i| Punya.new(i)}
は
punyas = Array.new(6) do |i|
Punya.new(i)
end
のほうが理解しやすいですよね。
■P.145の「mygame/boot」を使わない方法、で、
require ’mygame’
MyGame.create_screen 320,240
MyGame.main_loop do
MyGame.Image.render "sample.bmp"
end
がどうしても動作しません。
■P.247 表示物を描画するだけのプログラム
これは、1行目に、教本の通り #!ruby -Ks が入っていると、"2行目のテキストです"等の日本語表示が出来なくなります。
あと、本に書かれていない事がプログラム上でされている場合が多く、データは付属しているとはいえ、本の部分だけでは動作しないのはどうかと思います。
■P.267 選択肢
command_clear メソッドに、以下の文を加えないと動作しない。
@choices = []
@cursor_idx = nil
他、command_jumpメソッドに
初めてプログラムを書く方にもとても入りやすい本だと思います。付録のCDのデータを使用して本の内容に沿えば、本格的な成果物ができるので楽しく進められると思います。
ですが、作者が作ったクラスとメソッドを使って作成するので、本来のRubyのクラスやメソッドが学べない気がします。作者が作ったのか、元のクラスやメソッドなのか、区別がつきませんでした。
ですが、作者が作ったクラスとメソッドを使って作成するので、本来のRubyのクラスやメソッドが学べない気がします。作者が作ったのか、元のクラスやメソッドなのか、区別がつきませんでした。