モードの関数の枠とモードの切換処理を作る |
|
 |
|
 |
|
課題:各モードの関数の枠とモードの切換処理を作る |
|
モード別の処理用に以下の処理を作る |
・各モードの関数の枠 |
・モード切換処理(メイン関数) |
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
次に
各モード別用の関数の枠を作ろう。
それから、メイン関数に
その関数を切り替える
モードの切換処理を作っていこう。
クイズゲームの時は
既に作った処理を切り出す形
でモード別に関数を作ったけど。
今回は始めから
各モード別に関数で作っていくよ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
仕様書を
見て作ってね。 |
|
えーと、
どうすれば
いいんだろう? |
 |
|
|
|
|
|
|
イメージね。 |
 |
|
 |
うーん。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
今の段階では
関数は枠だけでいい
からね。
作っておけば
モード別に処理の流れを
掴みやすくなるからね。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
最初から関数で作る・・・。
関数の枠を作るのは
前にやったけど。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
 |
えーと、
どんな風に
作ったっけ。
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
大丈夫。
クイズゲームの時と
やり方は同じ。
クイズゲームの
モード別処理のコードを
見直してみよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
よーし、やってみるね!
うーん、と。
クイズゲームでは・・・ |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
クイズゲームと同じ。
モード別にするの。
ゆっくりやろう。 |
 |
|
 |
了解!
|
|
|
|
えっと・・・
完成コードを
見直して・・・ |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
うーん。うーん。うーん。
うーん。うーん。うーん。
うーん。うーん。うーん。
うーん。うーん。うーん。
うーん。うーん。うーん。
クイズゲームのコードの
どこを見たらいいのかな・・・ |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
最初は
そんなもんか。 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
えーと・・・こほん!
最初に、仕様書から今回
作る必要がある処理モード
を考えてみよう。
仕様書の「処理の構造」
の図も参考になるね。
まずは
クイズゲームと同じように
モードの定数が必要だね。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
なるほど!
今回作る処理モードは
行動処理モードと
対象処理モードと
結果処理モードだね。
だから定数名は・・・
あたしは前に
MODE_GAME_・・・を
付けて作ろうと思うんだけど。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
それで
いいんじゃない。 |
 |
|
 |
よかった! |
|
|
|
 |
|
 |
|
クイズゲーム完成 区切り処理・結果処理関数化
(KotoQuizのKQMain.java)12行目~ |
|
・・・ |
|
|
012 |
|
public class KQMain
{ |
013 |
|
|
014 |
|
//******************************************** |
015 |
|
//
定数 |
016 |
|
//******************************************** |
017 |
|
//入力・表示処理モード |
018 |
|
private
static final
int EXEC_MODE_QUIZ = 1;//問題処理モード |
019 |
|
private
static final
int EXEC_MODE_CHECK = 2;//解答処理モード |
・・・ |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それから、
クイズゲームの
モード切換処理と
モード別関数の枠は
こんな感じで作ったっけ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
あ、クイズゲームの・・・
そっか、この部分だ!
思い出した!
これなら大丈夫。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
同じように
作ってみよう。 |
 |
|
 |
こんな風に
作ったんだっけ。 |
|
|
|
 |
|
 |
|
クイズゲーム完成 区切り処理・結果処理関数化
(KotoQuizのKQMain.java)12行目~ |
|
モード切換処理(モード別関数の呼び出し) |
・・・ |
|
|
046 |
|
//問題処理モード |
047 |
|
if(execMode
== EXEC_MODE_QUIZ){ |
048 |
|
|
049 |
|
//問題処理モード関数呼び出し |
050 |
|
execModeQuiz(); |
051 |
|
|
052 |
|
//解答処理モード |
053 |
|
}else
if(execMode ==
EXEC_MODE_CHECK){ |
054 |
|
|
055 |
|
//解答処理モード関数呼び出し |
056 |
|
execModeCheck(); |
057 |
|
|
058 |
|
} |
・・・ |
|
|
|
|
|
|
 |
|
 |
|
|
 |
|
 |
|
クイズゲーム完成 区切り処理・結果処理関数化
(KotoQuizのKQMain.java)12行目~ |
|
各モードの関数の枠(関数の定義) |
・・・ |
|
|
123 |
|
/** |
124 |
|
*
問題処理モード処理 |
125 |
|
*/ |
126 |
|
private
static void execModeQuiz(){ |
~ |
|
|
|
~ |
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
~ |
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
~ |
|
|
|
172 |
|
//解答チェックモードへ変更 |
173 |
|
execMode
= EXEC_MODE_CHECK; |
174 |
|
} |
175 |
|
|
176 |
|
/** |
177 |
|
* 解答処理モード処理 |
178 |
|
*/ |
179 |
|
private
static void execModeCheck(){ |
~ |
|
|
|
~ |
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
~ |
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
~ |
|
|
|
216 |
|
//問題処理モードへ変更 |
217 |
|
execMode
= EXEC_MODE_QUIZ; |
218 |
|
} |
・・・ |
|
|
|
|
|
|
 |
|
 |
|
|
|
|
|
おーけ? |
 |
|
 |
おっけ!
作ってみるね! |
|
|
|
|
こほん |
え、えっとー
今のは
ヒントじゃないよね?
なぽちゃんの
独り言だよね?
あたし、助け求めて
なかったよね?
たぶん。 |
 |
 |
|
 |
はいはい。
私めの
独り言です。
お姫様。 |
|
|
解答は次のページです |