じゃんけんゲーム 仕様決定? (Javaでゲームプログラミング)

eclipseをインストールして、本格的にプログラミングの準備が整いました。
で、さっそくプログラムを打ち込んで、と言う前にじゃんけんゲームの設計をしましょう。
多分こういうのを“仕様決定”と言うのでしょう。
プロの仕事であれば、この時点で完全に出来上がった姿を想定して“仕様”を決めるのでしょう。
あ、でもよく“しょっちゅう起こる仕様変更”なんて事が現場の声で聞こえてきたりしますね。
と言うことは、完全なアマチュアである私が、作りながら仕様変更していくなんてのは、
あまりにも普通な事、と言うことでOKですね。
さて、気楽に、がんがん、途中で方針変更していきましょう。
最初はどうしても必要な機能に絞って仕様とやらを決めてみましょう。
・新しくウィンドウを開き、そこにメッセージを表示させるようにする。
・ランダムにグー・チョキ・パーをコンピューターに決めさせて、それを表示する。
・使う人に考える時間を少し与える(2秒くらい?)
これくらいでしょうね。
実は、これが“オブジェクト”と呼ばれるものみたいです。
”なになにをするです”とか”ちょめちょめなのです”といった内容でしょうか。
ただし、これは私が思っているだけかもしれないということをお断りしておきます。
しょせんは素人のたわごとかもしれません。
一応Wikiを見たり、本を読んだりして、なんとなくつかんだイメージなのですがね。
とにかく、オブジェクトとやらにあわせてプログラムを作っていくための言語を“オブジェクト指向言語”と言うんだな、と私は理解しています。
と、いうことで、上の3つを骨にしてプログラムを作っていきましょう。
まあまあ、おそらくこの3つで完成するはずもなく、そのうちどんどん仕様が変わるでしょう。
仕様が決まったところで、プログラムを設計していかなければいけません。
そのためには、Javaがどんな構造をとっているかを知らないと作れませんよね。
ではそれを少しずつ勉強してみましょう。
Javaはクラスで出来ています。
クラスはフィールドとメソッドで出来ています。
と、おそらく教科書に書いているでしょう、きっと。
じゃあ、それはなによ?と言うことですが、とっても簡単に言うと
フィールド・・・データ、メソッド・・・関数、クラス・・・データと関数の塊。
ですね。
関数というのは函数とも書くそうで、何かを入れて何かを取り出す箱みたいなものですね。
で、関数には、いつも同じものを入れるわけではないし、取り出すものも毎回違うことが多い。
だから、中身を自由に変えられる入れ物が必要ですね。
これが”変数”。
もちろん、決まった数も場合によっては使いますよね。
たとえば、”円周率”とか、”重力定数”とか、”気体定数”とか。
こういう、中身が決まったやつを”定数”といいます。
一応、変数と定数(と言いながら、”数値”ばかりとは限りませんが)を合わせて、
”データ”
としています。
で、クラスがいまいちわからない。でも、あるとき思ったんですよ。
例えば、“円”というものについて、“面積”と“円周”という性質がありますね。
両方とも“半径”が決まれば出てきます。
なので、“円”というクラスを作っておいて、
そのクラスを呼び出すときに“半径”という変数を渡して(引数というそうな)、
状況に応じて“面積”とか“円周”とか、必要なら両方とかを取り出せるようにしたら、便利じゃないですか?
多分、こういうものだと思います。
ところで、そういうものをすべて自前で作っていかないといけないのか、
といいますと、実はそうでもありません。
これもまた、先人たちの大いなる遺産が活用できるのです。
その遺産と言うのは、豊富で便利なクラスの群です。(ライブラリと呼ぶみたいです)
Javaを使いこなすというのは、このクラスを覚えていく、と言うことだと思います。
既にあるクラスを便利に使いこなしつつ、新たな機能を持つクラスを作っていく。
でもって、“世界にひとつだけのプログラム”をつくる、とっても楽しみですね。
さて、今回もそろそろ長くなってまいりました。
続きは次回の講釈で。
今度はどこまでいけますかねぇ。
ただ、言えることは、次こそキーボードを打つべき時!ということです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です