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

SESSION 13 その29
結果処理モードを作る(移動処理のみ) つづき
  結果の表示と移動処理

最後に、移動した時の
結果の処理を作りました。

・結果の表示処理
・行動処理(移動処理)

全部の部屋で同じなので
関数で1つにしました。
1、現在の部屋
2、行動コマンド:移動

この分岐で、移動の
結果処理を選んでるだな。

行動コマンドの分岐には
保存しておいた変数
keepActNumを使ったんだね。
 
 
 

テキストアドベンチャーゲーム
結果処理モード(移動処理のみ)
KottonCastleEscapeのKCEMain.java)238行目~
 
・・・      
238      /**  
239       * 結果処理モード  
240       */  
241      private static void execModeResult() {  
242         //***** 入力された対象コマンド別に実行処理と表示をする *****  
243      
244         //部屋ごとの処理  
245         //***************  
246         //もし入口なら  
247          if (nowRoomNum == TAR_ROOM_ENTRANCE) {  
248            //行動コマンド選択別処理:保存しておいた値を使用  
249            //もし移動なら  
250             if (keepActNum == ACT_MOVE) {  
251               resultMove();//結果モード 移動表示処理  
252      
253            //もし見るなら  
254            } else if (keepActNum == ACT_LOOK) {  
255               System.out.println("テスト:結果処理モード 見る"); //テスト用:表示確認  
256                    
257            //もし使うなら  
258            } else if (keepActNum == ACT_USE) {  
259               System.out.println("テスト:結果処理モード 使う"); //テスト用:表示確認  
260      
261            }  
262      
263         //***************  
264         //もし廊下なら  
265         } else if (nowRoomNum == TAR_ROOM_PASSAGE) {  
266            //行動コマンド選択別処理:保存しておいた値を使用  
267            //もし移動なら  
268             if (keepActNum == ACT_MOVE) {  
269               resultMove();//結果モード 移動表示処理  
270      
271            //もし見るなら  
272            } else if (keepActNum == ACT_LOOK) {  
273               System.out.println("テスト:結果処理モード 見る"); //テスト用:表示確認  
274      
275            //もし使うなら  
276            } else if (keepActNum == ACT_USE) {  
277               System.out.println("テスト:結果処理モード 使う"); //テスト用:表示確認  
278      
279            }  
280      
281         //***************  
282         //もし寝室なら  
283         } else if (nowRoomNum == TAR_ROOM_BED) {  
284            //行動コマンド選択別処理:保存しておいた値を使用  
285            //もし移動なら  
286             if (keepActNum == ACT_MOVE) {  
287               resultMove();//結果モード 移動表示処理  
288      
289            //もし見るなら  
290            } else if (keepActNum == ACT_LOOK) {         
291               System.out.println("テスト:結果処理モード 見る"); //テスト用:表示確認  
292      
293            //もし使うなら  
294            } else if (keepActNum == ACT_USE) {  
295               System.out.println("テスト:結果処理モード 使う"); //テスト用:表示確認  
296      
297            }  
298         }  
299      
300         //共通の処理  
301         System.out.println("");  
302         System.out.println("---------------------------------------------");  
303         System.out.println("-- 1を入力してEnterキーを押してください ---");  
304         System.out.print(">");  
305      
306      }  
       
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
     
311      /**  
312       * 結果処理モード 移動処理  
313       */  
314      private static void resultMove() {  
315         //全部の部屋共通の表示  
316         System.out.println("M-01:別の部屋に行きます。"); 結果表示
317      
318         //現在の部屋を変更する  
319          nowRoomNum = inputNum; 移動処理
320      }  
・・・      
結果表示と移動処理を作った

変数 keepActNumに保存して置いた行動コマンドで処理を分岐した

  結果の表示

結果の表示は
移動の場合、全部の部屋
同じメッセージだから
1つだけね。

「別の部屋に行きます。」ね。
 
 
そうだな。

今回は全部の部屋
同じメッセージにしたから
これで行こう。
 

結果処理モード(結果の表示処理)
 

3、結果画面
(結果表示、待機入力)
######################################


鏡よ、鏡よ、鏡さん。

世界で一番美しいのはだあれ。
それはわ・た・し!コットン姫様よ。

おほほほほー
結果表示


---------------------------
何かキーを押してください>
待機入力

内容(処理)
結果の表示
キー入力の依頼表示
(待機処理)

 

テキストアドベンチャーゲーム
結果処理モード(移動処理のみ)
KottonCastleEscapeのKCEMain.java)318行目~
 
・・・      
318     /**  
319      * 結果処理モード 移動処理  
320      */  
321     private static void resultMove() {  
322        //全部の部屋共通の表示  
323        System.out.println("M-01:別の部屋に行きます。"); 結果表示
324     
325        //現在の部屋を変更する  
326        nowRoomNum = inputNum;  
327     }  
・・・      
行動と対象の選択結果を表示する

  行動処理(移動処理)

それから、「行動する」の
部分を作りました。

今回は「移動」なので
部屋を移動する処理を
作ったよ。

inputNumに入っている
対象コマンドを
nowRoomNum入れました。
この場合、
inputNumには
移動先の部屋の番号が
入ってるからね。
これで移動
できるよね。
そういうこと。
 

結果処理モード(行動の処理)
 

テキストアドベンチャーゲーム
結果処理モード(移動処理のみ)
KottonCastleEscapeのKCEMain.java)318行目~
 
・・・      
318     /**  
319      * 結果処理モード 移動処理  
320      */  
321     private static void resultMove() {  
322        //全部の部屋共通の表示  
323        System.out.println("M-01:別の部屋に行きます。");  
324     
325        //現在の部屋を変更する  
326        nowRoomNum = inputNum; 移動処理
327     }  
・・・      
部屋を移動する処理をする

  待機の入力処理

あと待機の入力もあったね。

これはクイズと同じ。

結果の表示を直ぐに消さない
ように「キーを押してください」
って表示して待機しました。

処理は、キー入力処理を
使います。

なので、待機メッセージしか
作ってないです。
今までと同じね。

入力処理は
全モード共通ってことで。
同じの
使います。
同じの
使おう。
 

結果処理モード(入力待機の処理)
 

テキストアドベンチャーゲーム
結果処理モード(移動処理のみ)
KottonCastleEscapeのKCEMain.java)300行目~
 
・・・      
300         //共通の処理  
301         System.out.println("");  
302         System.out.println("---------------------------------------------");  
303         System.out.println("-- 1を入力してEnterキーを押してください ---");  
304         System.out.print(">");  
・・・      
待機表示をして、入力の待機をした

 
 

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