広告
  サイト内検索:
<Let's create a game!> Introduction of programming for absolute beginners English
 

SESSION 10 その22
問題表示処理 つづき
  終了処理


クイズゲーム 問題表示処理追加
(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       }  
・・・  
メインループに入っていない

ループを抜けた後に実行される。つまり最後。


ねえ、なぽちゃん。

ここのメッセージも
いろいろ変えても
いい?
あー、自由にどうぞ。

でもセッション終わって
から復習でやってね。


今やるとお前、永久に
遊んでそうだから。
えー、
そんなこと・・・

ないー。
自信
ないー

ってか。


     

というわけで
追加のコードの
解説終わり。


なんか疑問あるケ?
大丈夫です!

ほんと、大分形に
なってきたね!
はあー
疲れたー
お疲れ様
です。


さあ、じゃあ一気に
完成させちゃおう。

次は「解答処理」を
追加しよう。
それで
取り合えず
完成。
おー!

完成だー!
はいっ。

お願いしますっ!

 
 

広告
home もくじ 前のページを読む 次のページを読む
  サイト内検索:
広告
お勧めの姉妹サイト
leafdays - リーフデイズ 超初心者のための園芸入門 - 楽しい趣味のガーデニング -
広告