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

コード4:クイズゲーム 完成 (モード別処理)
コード(KotoQuizのKQMain.java)
1 現在のコード:現在のコードから 赤色の部分を削除 緑色の部分を切り取り(2のコードの同じ内容部分に貼り付けて移動) して下さい。

クイズゲーム 完成
(KotoQuizのKQMain.java)17行目~
 
・・・    
017     public static void main(String[] args) {
018       // TODO code application logic here  
019  
020           //********************************************  
021           // 定数  
022         //********************************************  
023           final int QUIZ_MAX = 3;//問題数  
024    
025           //********************************************  
026           // 変数  
027           //********************************************  
028           boolean loopFlg = true;//ループフラグ  
029           int inputNum = 0;//入力番号  
030    
031           int nowQuizNum = 0;//現在出題番号  
032           int correctTotal = 0;//正解数  
033    
034           //********************************************  
035           // メイン処理  
036         //********************************************
037           while (loopFlg) {  
038    
039               /////////////////////////////////////////////////////  
040               //実行と描画処理  
041    
042               //見出し:現在の状況を表示する  
043               System.out.println("***************** ことくいず *****************");  
044               System.out.println("         現在、"+ (nowQuizNum + 1) +"問目です。");  
045               System.out.println("        現在の正解数は"+ correctTotal +"です。");  
046               System.out.println("***********************************************");  
047               System.out.println("");  
048               System.out.println("< 問題です >");  
049    
050               //問題を表示する  
051               switch(nowQuizNum){  
052                   case 0:  
053                       System.out.println("変数の型でint型の最大値はいくつ?");  
054                       System.out.println("");  
055                       System.out.println("-----------------------------------------------");  
056                       System.out.println("1:256 2:98776342 3:2147483647");  
057      
058                       break;  
059                   case 1:  
060                       System.out.println("変数の型を変換するのに使う方法はどれ?");  
061                       System.out.println("");  
062                       System.out.println("-----------------------------------------------");  
063                       System.out.println("1:キャスト 2:スコープ 3:インクリメント");  
064      
065                       break;  
066                   case 2:  
067                       System.out.println("変数aが「4以上でかつ10以下」か「40未満」");  
068                       System.out.println("正しい条件式はどれ?");  
069                       System.out.println("");  
070                       System.out.println("-----------------------------------------------");  
071                       System.out.println("1:(a >= 4 || a < 10) && a < 40");  
072                       System.out.println("2:(a >= 4 || a <= 10) || a < 40");  
073                       System.out.println("3:(a >= 4 && a <= 10) || a < 40");  
074      
075                       break;  
076               }  
077               System.out.print("答え>");  
078    
079               /////////////////////////////////////////////////////  
080               //キー入力処理 そのまま書き写してください ここから  
081               int tmpInputNum = 0;//入力番号初期化  
082               try {  
083                   //初期化処理  
084                   final int IMPUT_MAX = 3;//最大入力値  
085                   //キー入力読込処理(int型)  
086                   java.util.Scanner sc = new java.util.Scanner(System.in);  
087                   int inputInt = sc.nextInt();  
088                   //入力値チェックと入力番号への代入  
089                   if (inputInt > 0 && inputInt <= IMPUT_MAX) {  
090                       tmpInputNum = inputInt;  
091                   } else {  
092                       System.out.println("※ コマンドは" + IMPUT_MAX + "以下で入力して下さい ※ ");  
093                   }  
094               } catch (Exception e) {  
095                   System.out.println("※ 数字以外は入力しないで下さい ※ ");  
096               }  
097               //キー入力処理 そのまま書き写してください ここまで  
098               /////////////////////////////////////////////////////  
099    
100               //入力番号を受け取る  
101               inputNum = tmpInputNum;  
102    
103               //表示終了の区切り  
104               System.out.println("");  
105               System.out.println("######################################################");  
106               System.out.println("");  
107      
108               //解答をチェックする  
109               switch(nowQuizNum){  
110                   case 0:  
111                       //正解番号チェック  
112                       if(inputNum == 3){  
113                           System.out.println("やったね!正解");  
114                           correctTotal += 1;//正解数加算  
115                       }else{  
116                           System.out.println("残念!不正解");  
117                       }  
118      
119                       break;  
120                   case 1:  
121                       //正解番号チェック  
122                       if(inputNum == 1){  
123                           System.out.println("やったね!正解");  
124                           correctTotal += 1;//正解数加算  
125                       }else{  
126                           System.out.println("残念!不正解");  
127                       }  
128      
129                       break;  
130                   case 2:  
131                       //正解番号チェック  
132                       if(inputNum == 3){  
133                           System.out.println("やったね!正解");  
134                           correctTotal += 1;//正解数加算  
135                       }else{  
136                           System.out.println("残念!不正解");  
137                       }  
138      
139                       break;  
140               }  
141               System.out.println("");  
142               System.out.println("-----------------------------------------------");  
143               System.out.print("< 1を入力してEnterキーを押してください >");  
144    
145               //問題を進める  
146               nowQuizNum += 1;  
147    
148               //最大数以上なら  
149               if(nowQuizNum >= QUIZ_MAX){  
150                   loopFlg = false;//ゲームを終了する  
151               }  
152    
153               /////////////////////////////////////////////////////  
154               //キー入力処理 そのまま書き写してください ここから  
155               tmpInputNum = 0;//入力番号初期化  
156               try {  
157                   //初期化処理  
158                   final int IMPUT_MAX = 3;//最大入力値  
159                   //キー入力読込処理(int型)  
160                   java.util.Scanner sc = new java.util.Scanner(System.in);  
161                   int inputInt = sc.nextInt();  
162                   //入力値チェックと入力番号への代入  
163                   if (inputInt > 0 && inputInt <= IMPUT_MAX) {  
164                       tmpInputNum = inputInt;  
165                   } else {  
166                       System.out.println("※ コマンドは" + IMPUT_MAX + "以下で入力して下さい ※ ");  
167                   }  
168               } catch (Exception e) {  
169                   System.out.println("※ 数字以外は入力しないで下さい ※ ");  
170               }  
171               //キー入力処理 そのまま書き写してください ここまで  
172               /////////////////////////////////////////////////////  
173    
174               //入力番号を受け取る  
175               inputNum = tmpInputNum;  
176    
177               //表示終了の区切り  
178               System.out.println("");  
179               System.out.println("######################################################");  
180               System.out.println("");  
181           }  
182    
183           //結果表示  
184           System.out.println("***************** ことくいず *****************");  
185           System.out.println("");  
186           System.out.println("      あなたの正解数は "+ correctTotal +" でした。");  
187           System.out.println("");  
188           System.out.println("***********************************************");  
189           System.out.println("");  
190           System.out.println("おしまい");  
191       }  
・・・  
 
 
2 今回のコード:1で修正したコードに、緑色の部分に貼り付け 黄色の部分を修正 青色の部分を追加 してこの形にして下さい。

クイズゲーム 完成(モード別処理)
(KotoQuizのKQMain.java)17行目~
 
・・・      
017     public static void main(String[] args) {
018       // TODO code application logic here  
019    
020           //********************************************  
021           // 定数  
022           //********************************************  
023           //入力・表示処理モード  
024           final int EXEC_MODE_QUIZ = 1;//問題処理モード  
025           final int EXEC_MODE_CHECK = 2;//解答処理モード  
026           final int QUIZ_MAX = 3;//問題数  
027      
028           //********************************************  
029           // 変数  
030           //********************************************  
031           boolean loopFlg = true;//ループフラグ  
032           int inputNum = 0;//入力番号  
033           int execMode = EXEC_MODE_QUIZ;//処理モード(問題処理モードで開始)  
034      
035           int nowQuizNum = 0;//現在出題番号  
036           int correctTotal = 0;//正解数  
037      
038           //********************************************  
039           // メイン処理  
040         //********************************************
041           while (loopFlg) {  
042      
043               /////////////////////////////////////////////////////  
044               //実行と描画処理  
045      
046               //問題処理モード  
047             if(execMode == EXEC_MODE_QUIZ){
048      
049                   //見出し:現在の状況を表示する  
050                   System.out.println("***************** ことくいず *****************");  
051                   System.out.println("         現在、"+ (nowQuizNum + 1) +"問目です。");  
052                   System.out.println("        現在の正解数は"+ correctTotal +"です。");  
053                   System.out.println("***********************************************");  
054                   System.out.println("");  
055                   System.out.println("< 問題です >");  
056      
057                   //問題を表示する  
058                   switch(nowQuizNum){  
059                       case 0:  
060                           System.out.println("変数の型でint型の最大値はいくつ?");  
061                           System.out.println("");  
062                           System.out.println("-----------------------------------------------");  
063                           System.out.println("1:256 2:98776342 3:2147483647");  
064      
065                           break;  
066                       case 1:  
067                           System.out.println("変数の型を変換するのに使う方法はどれ?");  
068                           System.out.println("");  
069                           System.out.println("-----------------------------------------------");  
070                           System.out.println("1:キャスト 2:スコープ 3:インクリメント");  
071      
072                           break;  
073                       case 2:  
074                           System.out.println("変数aが「4以上でかつ10以下」か「40未満」");  
075                           System.out.println("正しい条件式はどれ?");  
076                           System.out.println("");  
077                           System.out.println("-----------------------------------------------");  
078                           System.out.println("1:(a >= 4 || a < 10) && a < 40");  
079                           System.out.println("2:(a >= 4 || a <= 10) || a < 40");  
080                           System.out.println("3:(a >= 4 && a <= 10) || a < 40");  
081      
082                           break;  
083                   }  
084                   System.out.print("答え>");  
085      
086                   //解答処理モードへ変更  
087                   execMode = EXEC_MODE_CHECK;  
088      
089               //解答処理モード  
090               }else if(execMode == EXEC_MODE_CHECK){  
091      
092                   //解答をチェックする  
093                   switch(nowQuizNum){  
094                       case 0:  
095                           //正解番号チェック  
096                           if(inputNum == 3){  
097                               System.out.println("やったね!正解");  
098                               correctTotal += 1;//正解数加算  
099                           }else{  
100                               System.out.println("残念!不正解");  
101                           }  
102      
103                           break;  
104                       case 1:  
105                           //正解番号チェック  
106                           if(inputNum == 1){  
107                               System.out.println("やったね!正解");  
108                               correctTotal += 1;//正解数加算  
109                           }else{  
110                               System.out.println("残念!不正解");  
111                           }  
112      
113                           break;  
114                       case 2:  
115                           //正解番号チェック  
116                           if(inputNum == 3){  
117                               System.out.println("やったね!正解");  
118                               correctTotal += 1;//正解数加算  
119                           }else{  
120                               System.out.println("残念!不正解");  
121                           }  
122      
123                           break;  
124                   }  
125                   System.out.println("");  
126                   System.out.println("-----------------------------------------------");  
127                   System.out.print("< 1を入力してEnterキーを押してください >");  
128      
129                   //問題を進める  
130                   nowQuizNum += 1;  
131      
132                   //最大数以上なら  
133                   if(nowQuizNum >= QUIZ_MAX){  
134                       loopFlg = false;//ゲームを終了する  
135                   }  
136      
137                   //問題処理モードへ変更  
138                   execMode = EXEC_MODE_QUIZ;  
139               }  
140      
141               /////////////////////////////////////////////////////  
142               //キー入力処理 そのまま書き写してください ここから  
143               int tmpInputNum = 0;//入力番号初期化  
144               try {  
145                   //初期化処理  
146                   final int IMPUT_MAX = 3;//最大入力値  
147                   //キー入力読込処理(int型)  
148                   java.util.Scanner sc = new java.util.Scanner(System.in);  
149                   int inputInt = sc.nextInt();  
150                   //入力値チェックと入力番号への代入  
151                   if (inputInt > 0 && inputInt <= IMPUT_MAX) {  
152                       tmpInputNum = inputInt;  
153                   } else {  
154                       System.out.println("※ コマンドは" + IMPUT_MAX + "以下で入力して下さい ※ ");  
155                   }  
156               } catch (Exception e) {  
157                   System.out.println("※ 数字以外は入力しないで下さい ※ ");  
158               }  
159               //キー入力処理 そのまま書き写してください ここまで  
160               /////////////////////////////////////////////////////  
161      
162               //入力番号を受け取る  
163               inputNum = tmpInputNum;  
164      
165               //表示終了の区切り  
166               System.out.println("");  
167               System.out.println("######################################################");  
168               System.out.println("");  
169           }  
170      
171           //結果表示  
172           System.out.println("***************** ことくいず *****************");  
173           System.out.println("");  
174           System.out.println("      あなたの正解数は "+ correctTotal +" でした。");  
175           System.out.println("");  
176           System.out.println("***********************************************");  
177           System.out.println("");  
178           System.out.println("おしまい");  
179       }  
・・・    
 
 
コードの解説図
クイズゲーム 完成(モード別処理)1
 
クイズゲーム 完成(モード別処理)2
 
home

広告
  サイト内検索: