仕様を考える |
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
仕様(しよう)は
プログラムで動かす内容の
ことだ。
アイデアもそのままじゃ
プログラムには使えない。
プログラムで動かせるように
考えていくんだよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そっか。
アイデアをプログラム用に
する必要があるんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
決まりの
ことね。 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
作るのに必要な項目を
考えていこう。
今回考える項目は
こんな感じ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ゲームの画面や
プログラムの流れを
作っていくんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
まずは
こんなんで。
臨機応変ね。
|
 |
|
 |
楽しそう! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
今回は最初に
入力と出力を考えちゃおう。
入力とは、ユーザーからの入力、
出力とは、処理の結果を出力
する方法だ。
ユーザーが文字とかを
コンピューターに「入力」して
その結果をコンピューターが
画面とかに「出力」する。
これはプログラムには
必須の基本的な動作だね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
なるほど。
何か入力しなきゃ
コンピューターは
どうしていいか
分からないよね。
画面も出力してくれないと
ずっと同じ画面のまま
になっちゃうね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
まあ、なにか
入力しないと
遊べないよね。 |
 |
|
 |
主人公も
動けないよね。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
入力と出力は2つある。
ハードウェアとソフトウェアだ。
例えば、ゲームで言うなら
入力は・・・
ハードウェアは
ゲームパッドとかだな。
方向キーとかキー入力するだろ。
ソフトウェアは
入力されたキーを受け取る
「入力処理」のプログラムになるよ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
2つの視点ね。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
入力と出力は
機械とプログラム
両方考えないと
ダメなんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|
入力と出力の例 |
|
|
対象 |
入力 |
出力 |
ハードウェア |
ゲームパッドなど |
ディスプレイなど |
ソフトウェア |
キー入力処理など |
画面描画処理など |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、今回のプログラムの
入力と出力を決めよう。
まずはハードウェア。
入力はキーボード
出力はディスプレイ画面だよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
クイズゲームは
数字を入力するだけだから、
キーボードだけなんだ。
マウスは使わないんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
まあ普通ね。 |
 |
|
 |
はいっ。 |
|
|
|
 |
|
 |
|
|
入力と出力 |
|
|
対象 |
入力 |
出力 |
ハードウェア |
キーボード |
ディスプレイ |
ソフトウェア |
|
|
|
|
|
|
|
|
 |
|
 |
|
|
入力処理は
あとで説明ねー |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
次にソフトウェア。
入力処理には
標準入力と言う処理を使うよ。
この処理を使うとキーボードから
文字を入力できるんだ。
今回のゲームは
文字しか使わないからね。
出力は標準出力、
これは出力ウィンドウだよ。
println()でここに出力するよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|
入力と出力 |
|
|
対象 |
入力 |
出力 |
ハードウェア |
キーボード |
ディスプレイ |
ソフトウェア |
標準入力 |
標準出力
(出力ウィンドウ) |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、
ゲームの内容を決めていこう。
まずはルールだ。
プログラムでゲームを動かすための
ルールを考えてみよう。
例えば、テニスゲームなら
・ラケットを振ってボールに当てる
・画面に得点を出す
・二人同時に遊べる
とかね。
クイズを今回のゲームに
当てはめて考えてみるとこんな
感じかな。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
今回は
一問づつ出して
答え合わせ
する形式ね。 |
|
こんな感じに
考えるんだ。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
そっか。
そうだよね、クイズにも
ルールがあるんだよね。
クイズのルールなんて
考えた事無かったー。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|
クイズゲームのルール |
|
|
ルール |
問題を1問づつ出す |
解答する |
1問づつ答え合わせをする |
問題は3問出題 |
1番から順番に出す |
3問終わったら正解数を表示して終了 |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
次にルールから
処理の流れを考えてみよう。
プログラムの大まかな流れね。
1、変数などの、全体の初期化
2、問題を出す
3、解答する
4、答え合わせする
5、解答の結果を表示する
6、2~5を3問繰り返す
7、3問終わったら正解数表示
こんな感じかな。
まあ、ルールの流れそのまんまだよ。
この処理の流れを図にしてみたよ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
簡単だろ。
|
 |
|
 |
あたしでも
分かる! |
|
|
|
|
|
目印に
してね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
画面に表示する必要が
あるものには出力
ユーザーからキーの入力が
必要なものには入力
をつけたよ。確認してね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
問題を画面に出して、
解答の結果も
画面に出して・・・・
そっか、解答は入力して
もらわないとね。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
入力と
出力か。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
詳しい流れは、
開発する時に考えていこう。
こういった流れ図の書き方には
フローチャートとか
規定された書き方もあるから
興味が出たら勉強してみよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
セッションでは
使わんけど。
|
 |
|
 |
そんなのも
あるんだ。 |
|
|