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