仕様を考える つづき |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
次はプログラムの構造だ。
考えた「処理の流れ」を
元に構造を考えていこう。
今回は処理の構造を
考えてみよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うーん、
よく分かんないけど
やることがいろいろ
あるんだね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
最初に
一般的なゲームの処理の
構造を理解しておこう。
これは常に画面が
アニメしているような
ゲームの処理の動作だよ。
ここではこの構造を
「フロー駆動型」と呼ぶよ。
どういう処理のつながりで
動いているか見てくれ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
すごーい!
ゲームってこういう風に
動いてるんだ!!
ずっとループし続けて
止まらないんだー。
常にアニメしているって・・・
アクションゲームとか
シューティングゲームとかの
ことね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
ものすごい
簡略化した
概要ね。
|
 |
|
 |
すごいー!
滅茶苦茶
速いー! |
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
すごーい!すごーいね!
1秒の間に何十回も
こんなこと繰り返すんだー。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
目が
回っちゃうね! |
|
あー、こんな
感じなんだって
イメージして。
今後ゲームを
作る時に使う
からね。 |

|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
まあ、作り方にもよるけど。
実際は、音楽鳴らしたり、
エフェクト作ったり
滅茶苦茶やる事がある。
今回は、処理の構造を
イメージしてね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
基本はこんな動きになるんだけど
つまり、大きく言えば
1.ユーザー(プレイヤー)が入力
2.入力値に基づいて処理を計算
3.結果を画面に表示する
って事の繰り返しになるね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
単純だろ。 |
|
あんな
複雑な事
してるのにー。 |

|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
この図で重要なのは
ユーザーの入力にたいして
コンピューターが回答するという
「ユーザーとコンピューターの
対話の繰り返し」で
ゲームが成立している点だ。
つまり、1回のループが
1回の対話になっているんだよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そっか、このループは
入力した結果を
コンピューターが画面で
答えてるんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
ユーザーの入力と
画面への結果出力ね。 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ゲームに限らず、プログラムは基本的に
ユーザーとコンピューターの
「対話」の繰り返しで作られているんだ。
プログラムを「議題」だとすると、
対話を繰り返して議題を解決してる感じ。
だから、プログラムを作る時は
ユーザーとコンピューターの「対話」を
意識して構造を考えよう。
慣れるまでは特に意識して設計してね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
当たり前っちゃ
当たり前のことだけどね。
意外と見落としてる。
構造を考える基本!
重要! |
|
|
 |
依頼と回答。
会話の
キャッチボールね! |
|
|
|
|

 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
だから、最初は
フロー駆動型の図のように
1回のループに
1回のユーザーの入力
1回のコンピューターの出力
の構造で作っていこう。
プログラムはこの形が
処理がシンプルで
分かりやすいから基本にしよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
はいっ。
1回の対話に
1回の依頼と
1回の回答。
なんとなくしか
分かんないけど。。。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
今は
なんとなくで
いいよ。
これから
見ていくと
分かるから。 |
 |
|
 |
今は
イメージだけで
いいんだね。 |
|
|
|
|
いえーい。 |

|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
図の「フロー駆動型」
についての説明はまた今度ね。
別の時にまとめて説明するよ。
今は「あーそーなんだ。」で
言葉だけ覚えといて。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
やられたー |
 |
|
 |
勝った。 |
|
|