問題表示処理 つづき |
|
 |
|
 |
|
クイズゲーム 問題表示処理追加
(KotoQuizのKQMain.java)79行目~ |
|
・・・ |
|
|
|
079 |
|
//問題を進める |
|
080 |
|
nowQuizNum
+= 1; |
|
081 |
|
|
|
082 |
|
//最大数以上なら |
|
083 |
|
if(nowQuizNum
>= QUIZ_MAX){ |
|
084 |
|
loopFlg
= false;//ゲームを終了する |
|
085 |
|
} |
|
・・・ |
|
|
|
|
解説図
番号5を参照して下さい |
|
|
 |
|
 |
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
|
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それから終了処理。
ループ終了のフラグを管理
してるよ。
ループの最後で
現在の出題番号と問題数を
比較して、全問終わったか判定
してるんだ。
これでプログラムを最初から
最後まで一通り動かせるように
なったね。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
nowQuizNumに
1足してるのは
問題番号を
進めてるんだよね?
まず問題を進めてから
終了チェックしてるんだ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そう、問題を進めた後でチェック
してるんだよ。
そうすれば 問題数=終了
にできるから終了判定がしやすい。
例えば、
今回の最終問題は3問目。
nowQuizNumは0から始まってるから
3問目だと2だね。
進める前に終了判定すると、
終了の条件式が
if(nowQuizNum >= 2)
になるから2の意味が分かりづらい
だろ。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
まあ、
いろんな判定が
できるけどね。
まずはこれね。 |
|
0の初期化
だから
問題数と
ずれるんだね。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
問題数が3問なんだから
3で終わりが
分かりやすいね。
判定する場所も重要
なんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|
終了判定のタイミング |
|
実際の問題番号 |
nowQuizNum |
+1すると |
1問目 |
0 |
1 |
2問目 |
1 |
2 |
3問目
(最終問題) |
2 |
3
(QUIZ_MAXと一致で終了) |
|
問題を進めた後で判定した場合、
nowQuizNumが +1 され、終了の条件を
問題数(QUIZ_MAX)と同じにできる。 |
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それから、注意が必要なのは
クイズの問題を増やしたら
この定数 QUIZ_MAXの値も
増やす必要があるってことだ。
じゃないと、
実際の問題の数と
終了判定の問題数が
ずれちゃうからね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そっか。
QUIZ_MAXは問題数
だもんね。
問題を追加したら、
ここを増やすのも
忘れないようにしないと。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
さっきも
言ったけどねー
しつこいけど
いちお。 |
 |
|
 |
メモメモ |
|
|
|
 |
|
 |
|
|
クイズゲーム 問題表示処理追加
(KotoQuizのKQMain.java)117行目~ |
|
・・・ |
|
|
|
117 |
|
//結果表示 |
|
118 |
|
System.out.println(""); |
|
119 |
|
System.out.println("***************** ことくいず *****************"); |
|
120 |
|
System.out.println(""); |
|
121 |
|
System.out.println(" あなたの正解数は "+
correctTotal +" でした。"); |
|
122 |
|
System.out.println(""); |
|
123 |
|
System.out.println("***********************************************"); |
|
124 |
|
System.out.println(""); |
|
125 |
|
System.out.println("おしまい"); |
|
・・・ |
|
|
|
|
解説図
末尾を参照して下さい |
|
|
 |
|
 |
|
|
完成する
までの
辛抱ね。 |
 |
|

|
うーん
残念~ |
|
|
|
|
 |
|
|
|
|
 |
 |
 |
|
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
それから、
ゲームの最後に結果画面。
正解数を表示させたよ。
って言っても、
単に変数correctTotalで
正解数を表示してるだけ。
難しい事ないよ。
今回は0しか表示されないし。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
 |
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そっか。まだ、答え合わせが
できないから0のままなんだ。
完成すればちゃんと正解数が
表示されるんだよね。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
あれ?
この正解数の処理は
メインループの外に
書いてるんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ああ。
ゲーム終了時に1回表示
させるだけだからね。
ループする必要が無いだろ。
今回はこれでいいんじゃね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
 |
|
 |
|
|
クイズゲーム 問題表示処理追加
(KotoQuizのKQMain.java)34行目~ |
|
・・・ |
|
|
|
034 |
|
//******************************************** |
|
035 |
|
//
メイン処理 |
|
036 |
|
//******************************************** |
|
037 |
|
while
(loopFlg) { |
|
~ |
|
|
|
115 |
|
} |
|
116 |
|
|
|
117 |
|
//結果表示 |
|
118 |
|
System.out.println(""); |
|
119 |
|
System.out.println("***************** ことくいず *****************"); |
|
120 |
|
System.out.println(""); |
|
121 |
|
System.out.println(" あなたの正解数は "+
correctTotal +" でした。"); |
|
122 |
|
System.out.println(""); |
|
123 |
|
System.out.println("***********************************************"); |
|
124 |
|
System.out.println(""); |
|
125 |
|
System.out.println("おしまい"); |
|
126 |
|
} |
|
・・・ |
|
|
|
|
メインループに入っていない
ループを抜けた後に実行される。つまり最後。 |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ねえ、なぽちゃん。
ここのメッセージも
いろいろ変えても
いい? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
あー、自由にどうぞ。
でもセッション終わって
から復習でやってね。
今やるとお前、永久に
遊んでそうだから。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
えー、
そんなこと・・・
ないー。 |
 |
|
 |
自信
ないー
ってか。 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
というわけで
追加のコードの
解説終わり。
なんか疑問あるケ? |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
はあー
疲れたー |
 |
|
 |
お疲れ様
です。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
さあ、じゃあ一気に
完成させちゃおう。
次は「解答処理」を
追加しよう。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
それで
取り合えず
完成。 |
|
おー!
完成だー! |
 |
|
|
|