サンプルのソースコードを読んでいると、「ん・・・?」となる本。 Javaはオブジェクト指向の言語ですが、本書のソースコードを見るとそれは殆ど無視。 例えばシューティングゲームを例にとってみると・・・。 それを作る際に必要な部品には、 「自機」「敵」「弾」「ステージ」「インタフェース」...etcと、実に様々なものがあります。 つまり、それだけクラスの数も必要になる筈なのですが。 本書ではメインとなるクラスが一つだけあり、 特別に専用のクラスを用意するわけでもなく、全てそこにフィールドとして宣言。(自機や敵の座標その他諸々) メソッドなども同じで、 「敵」というクラスがあり、そこに「(敵を)動かす」というメソッドが用意されているわけではなく、 そういったオブジェクト自身の挙動といったものも全て、paint()もしくはrun()メソッドの中で行われています。 という訳ですので、 「ゲーム作りを通してJava(オブジェクト指向)を学びたい」 「実用向けのゲーム製作方法を習得したい」 「とりあえずJavaの学習をしたい」 ・・・といった方には向きません。 そういう意味では、あまり初心者の方にはおススメしたくは無い本。 逆に、 「オブジェクト指向はある程度理解しているが、ゲームのアルゴリズムについては・・・」 「自分のWebサイトにちょっとしたゲームを置いてみたい」 「ゲーム製作の足がかり的なものが欲しい」 などといった方には良書、となるのかも。
サンプルのソースコードを読んでいると、「ん・・・?」となる本。
Javaはオブジェクト指向の言語ですが、本書のソースコードを見るとそれは殆ど無視。
例えばシューティングゲームを例にとってみると・・・。
それを作る際に必要な部品には、
「自機」「敵」「弾」「ステージ」「インタフェース」...etcと、実に様々なものがあります。
つまり、それだけクラスの数も必要になる筈なのですが。
本書ではメインとなるクラスが一つだけあり、
特別に専用のクラスを用意するわけでもなく、全てそこにフィールドとして宣言。(自機や敵の座標その他諸々)
メソッドなども同じで、
「敵」というクラスがあり、そこに「(敵を)動かす」というメソッドが用意されているわけではなく、
そういったオブジェクト自身の挙動といったものも全て、paint()もしくはrun()メソッドの中で行われています。
という訳ですので、
「ゲーム作りを通してJava(オブジェクト指向)を学びたい」
「実用向けのゲーム製作方法を習得したい」
「とりあえずJavaの学習をしたい」
・・・といった方には向きません。
そういう意味では、あまり初心者の方にはおススメしたくは無い本。
逆に、
「オブジェクト指向はある程度理解しているが、ゲームのアルゴリズムについては・・・」
「自分のWebサイトにちょっとしたゲームを置いてみたい」
「ゲーム製作の足がかり的なものが欲しい」
などといった方には良書、となるのかも。