[前へ] [目次へ] [次へ]
単語当てゲームLv2の設計(C/C++)
(11/08/26) 余計な(未定義)を修正しました
今回は、単語当てゲームLv2の設計を行います。
Lv2の仕様はLv1から機能追加したものなので、
まずLv1の仕様から振り返ってみます。
●Lv1の仕様
[要素]ソース上に直接書き込んだ問題
[属性]複数:問題
入力 固定:[機能]乱数を使って選択し表示します→[処理]問題を選択する
[要素]選択された問題
[属性]参照 単体:問題
作成:[機能]乱数を使って選択し表示します→[処理]問題を選択する
入力 固定:[機能]乱数を使って選択し表示します→[処理]選択された問題を表示する
入力 固定:[機能]成否を判定します→[処理]結果を判定し、分岐する
[要素]入力された答え
[属性]単体:プレイヤーの回答
出力:[機能]その問題の答えをプレイヤーはキーボードから入力し→プレイヤーから答えが入力されるのを待つ
入力 固定:[機能]成否を判定します→[処理]結果を判定し、分岐する
[要素]問題
[属性]単体:問題文 正解文
被参照:選択された問題
[機能]乱数を使って選択し表示します
[処理]乱数を発生させる
[処理]問題を選択する
[処理]選択された問題を表示する
[機能]その問題の答えをプレイヤーはキーボードから入力し
[処理]プレイヤーから答えが入力されるのを待つ:「[要素]入力された答え」へ結果を出力
[機能]成否を判定します
[処理]結果を判定して分岐:正解なら「[機能]クリア表示して終了」へ進む
間違いなら「[機能]その問題の答えをプレイヤーはキーボードから入力し」へ進む
[機能]クリア表示して終了
[処理]クリアを表示する
[処理]プログラムを終了する
変更点の詳細については 第75回 を参照していただくとして、
ざっくり言えばヒント追加です。
なので新しく要素としてヒント文字列を追加します。
[要素]ヒント文字列
[属性]単体:ヒントとして表示する文字列
作成:[機能]乱数を使って選択し表示します
入力 出力:[機能]ヒント文字列の更新(未定義)
入力 固定:[機能]ヒント文字列の表示(未定義)
加えて、関連する機能を追加します。
[機能]ヒント文字列の更新
[処理]入力と正解の比較:「[要素]入力された答え」と「[要素]選択された問題の正解文」を比較し、
[処理]ヒント文字列を更新:「[処理]入力と正解の比較」で一致した部分の「[要素]ヒント文字列」を更新する
[機能]ヒント文字列の表示
[処理]ヒント文字列を表示する:「[要素]ヒント文字列」を表示する
また、「[機能]乱数を使って選択し表示します」の処理に以下の処理を追加します。
[処理]ヒント文字列を初期化する:「[要素]選択された問題の正解文」を**にして「[要素]ヒント文字列」に設定する
追加点はこれだけです。
これを仕様に合うようにLv1の仕様の中に組み込めばOKです。
●Lv2の仕様に合わせて作成した新しい関係(赤太字部分が変更点)
[要素]ソース上に直接書き込んだ問題
[属性]複数:問題
入力 固定:[機能]乱数を使って選択し表示します→[処理]問題を選択する
[要素]選択された問題
[属性]参照 単体:問題
作成:[機能]乱数を使って選択し表示します→[処理]問題を選択する
入力 固定:[機能]乱数を使って選択し表示します→[処理]選択された問題を表示する
入力 固定:[機能]成否を判定します→[処理]結果を判定し、分岐する
入力 固定:[機能]ヒント文字列の更新→[処理]入力と正解の比較
[要素]入力された答え
[属性]単体:プレイヤーの回答
出力:[機能]その問題の答えをプレイヤーはキーボードから入力し→[処理]プレイヤーから答えが入力されるのを待つ
入力 固定:[機能]成否を判定します→[処理]結果を判定し、分岐する
入力 固定:[機能]ヒント文字列の更新→[処理]入力と正解の比較
[要素]問題
[属性]単体:問題文 正解文
被参照:選択された問題
[要素]ヒント文字列
[属性]単体:ヒントとして表示する文字列
作成:[機能]乱数を使って選択し表示します→[処理]ヒント文字列を初期化する
入力 出力:[機能]ヒント文字列の更新→[処理]ヒント文字列を更新
入力 固定:[機能]ヒント文字列の表示→[処理]ヒント文字列を表示する
[機能]乱数を使って選択し表示します
[処理]乱数を発生させる
[処理]問題を選択する:「[要素]選択された問題」を作成
[処理]選択された問題を表示する
[処理]ヒント文字列を初期化する:「[要素]ヒント文字列」を作成
[機能]ヒント文字列の表示
[処理]ヒント文字列を表示する
[機能]その問題の答えをプレイヤーはキーボードから入力し
[処理]プレイヤーから答えが入力されるのを待つ:「[要素]入力された答え」へ結果を出力
[機能]ヒント文字列の更新
[処理]入力と正解の比較
[処理]ヒント文字列を更新:「[要素]ヒント文字列」を更新
[機能]成否を判定します
[処理]結果を判定して分岐:正解なら「[機能]クリア表示して終了」へ進む
間違いなら「[機能]その問題の答えをプレイヤーはキーボードから入力し」へ進む
[機能]クリア表示して終了
[処理]クリアを表示する
[処理]プログラムを終了する
これで単語当てゲームLv2を作成するのに必要な情報が揃いました。
文字列の直接操作について忘れたという人は 第30回 あたりから読んで来てください。
次回は単語当てゲームLv1をLv2に改造していきます。
[前へ] [目次へ] [次へ]
プログラミング講座 総合目次
最終更新 2011/08/26