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

SESSION 13 その57
オープニング、エンディングを作る つづき
  定数の追加

まず、
定数を追加しました。


新しい
オープニングモードと
エンディングモード用の
定数ね。
新しいモードを作る
下準備だね。

番号も1から
振りなおしてるし。


いいんじゃない。
まずは
これね!
 
 

テキストアドベンチャーゲーム
オープニング、エンディング
KottonCastleEscapeのKCEMain.java)14行目~
 
・・・    
014       //********************************************
015       //                   定数
016       //********************************************     
017       //入力・表示処理モード
018       private static final int MODE_OPENING = 1;//オープニング
019       private static final int MODE_GAME_1_ACT = 2;//行動処理モード(1階層目 どうする?行動コマンド)
020       private static final int MODE_GAME_2_TAR = 3;//対象処理モード(2階層目 なにを?対象コマンド)
021       private static final int MODE_GAME_3_RES = 4;//結果処理モード
022       private static final int MODE_ENDING = 5;//エンディング
023       //行動コマンド
024       private static final int ACT_NONE = 0;//無し
025       private static final int ACT_MOVE = 1;//移動
026       private static final int ACT_LOOK = 2;//見る
027       private static final int ACT_USE = 3;//使う
028       //対象コマンド 移動用 部屋の現在地
029       private static final int TAR_ROOM_ENTRANCE = 1;//入口
030       private static final int TAR_ROOM_PASSAGE = 2;//廊下
031       private static final int TAR_ROOM_BED = 3;//寝室
032       //対象コマンド 見る用(部屋別に用意する)
033       //入口用
034       private static final int TAR_LOOK_ENTRANCE_DOOR = 1;//ドア
035       //廊下用
036       private static final int TAR_LOOK_PASSAGE_WINDOW = 1;//窓
037       private static final int TAR_LOOK_PASSAGE_PICTURE = 2;//絵画
038       //寝室用
039       private static final int TAR_LOOK_BED_BED = 1;//ベッド
040       private static final int TAR_LOOK_BED_TABLE = 2;//テーブル
041       private static final int TAR_LOOK_BED_SAFE = 3;//金庫
042       //対象コマンド 使う用
043       private static final int TAR_USE_ITEM_CODE_5963 = 1;//暗証番号:5963(ごくろうさん)
044       private static final int TAR_USE_ITEM_CODE_3156 = 2;//暗証番号:3156(サイコロ)
045       private static final int TAR_USE_ITEM_CODE_3150 = 3;//暗証番号:3150(最高)
046       private static final int TAR_USE_ITEM_KEY = 4;//金庫の鍵
047       private static final int TAR_USE_ITEM_BOM = 5;//爆弾
・・・    
オープニングとエンディングのモード用定数を追加。
追加した後に番号を1から振りなおした。


いい感じだね。
お前が考えた
モード名のつけ方が
生きてきたな。


MODE_OPENING
MODE_GAME
MODE_ENDING

分かりやすくていいね。
 
やった。

褒められた。
  えへへ。
 


それから、
定数の追加に合わせて
変数 nowModeの初期値を
オープニング処理モード
に変更しました。
そうだね。

ゲームの開始を
オープニングからに
変更しとかないとね。
クイズの時、
問題数増やすの
忘れてひどい目に
あったからね。。。
偉い偉い。

しっかり
覚えてたな。
 

テキストアドベンチャーゲーム
オープニング、エンディング
KottonCastleEscapeのKCEMain.java)48行目~
 
・・・    
048       //********************************************
049       //                   変数
050       //********************************************
051       private static int inputNum = 0;//入力番号
052       private static int nowMode = MODE_OPENING;//現在の処理モード:最初は1階層目
053       private static int nowRoomNum = TAR_ROOM_ENTRANCE;//現在位置:ドアの部屋から開始
054       private static int keepActNum = ACT_NONE;//行動コマンド保存用:無しで初期化
055       private static boolean endingFlg = false;//エンディング開始フラグ
056       //アイテムフラグ
057       private static boolean itemKeyFlg = false;//金庫の鍵
058       private static boolean itemBomFlg = false;//爆弾
059       private static int tableLookCount = 0;//テーブル調査回数
・・・    
ゲームを開始するモードをオープニング処理モードに変更した


それから
変数も追加しました。

エンディングの開始を
判定するフラグ

作ったよ。
これで
エンディングの開始を
判定するんだな。
なぽちゃんの
独り言で教えて
もらった所ね。
気にしないのー。
 

テキストアドベンチャーゲーム
オープニング、エンディング
KottonCastleEscapeのKCEMain.java)48行目~
 
・・・    
048       //********************************************
049       //                   変数
050       //********************************************
051       private static int inputNum = 0;//入力番号
052       private static int nowMode = MODE_OPENING;//現在の処理モード:最初は1階層目
053       private static int nowRoomNum = TAR_ROOM_ENTRANCE;//現在位置:ドアの部屋から開始
054       private static int keepActNum = ACT_NONE;//行動コマンド保存用:無しで初期化
055       private static boolean endingFlg = false;//エンディング開始フラグ
056       //アイテムフラグ
057       private static boolean itemKeyFlg = false;//金庫の鍵
058       private static boolean itemBomFlg = false;//爆弾
059       private static int tableLookCount = 0;//テーブル調査回数
・・・    
エンディングを開始するフラグを追加。falseで初期化した。

  関数の枠の追加

それから、
オープニングモードと
エンディングモード用に
関数の枠を追加しました。


関数 execModeOpenig と
関数 execModeEnding ね。
オープニング
の関数と
エンディングの
関数ね。
 
いいね。

枠の作り方は
今までと同じだね。
 

テキストアドベンチャーゲーム
オープニング、エンディング
KottonCastleEscapeのKCEMain.java)78行目~
 
・・・    
194       /**
195        * オープニング処理モード
196        */
197       private static void execModeOpenig() {
198           System.out.println("テスト:オープニング開始"); //テスト用:表示確認
199    
200  

        printWait();//待機表示処理

201       }
     
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
   
486       /**
487        * エンディング処理モード
488        */
489       private static void execModeEnding() {
490           System.out.println("テスト:エンディング開始"); //テスト用:表示確認
491    
492  

        printWait();//待機表示処理

493       }
・・・    
オープニング処理用とエンディング処理用の関数の枠を作った

  オープニングとエンディングの処理(メッセージ処理と待機処理)

作った
オープニング処理モード関数と
エンディング処理モード関数に
処理を追加しました。

今回の処理はテスト用の表示ね。
ここにシナリオを書くんだね。
 
 
待機表示のメッセージ
関数 printWaitで
1つにまとめたんだな。

いいね、自分で考えてる。
 

オープニング処理モード(シナリオ表示処理、待機処理)
 

エンディング処理モード(シナリオ表示処理、待機処理)
 

テキストアドベンチャーゲーム
オープニング、エンディング
KottonCastleEscapeのKCEMain.java)78行目~
 
・・・    
194       /**
195        * オープニング処理モード
196        */
197       private static void execModeOpenig() {
198           System.out.println("テスト:オープニング開始"); //テスト用:表示確認
199    
200  

        printWait();//待機表示処理

201       }
     
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
   
486       /**
487        * エンディング処理モード
488        */
489       private static void execModeEnding() {
490           System.out.println("テスト:エンディング開始"); //テスト用:表示確認
491    
492  

        printWait();//待機表示処理

493       }
     
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
   
542       /**
543        *待機表示処理
544        */
545       private static void printWait() {
546           System.out.println("");
547           System.out.println("---------------------------------------------");
548           System.out.println("-- 1を入力してEnterキーを押してください ---");
549           System.out.print(">");
550       }
・・・    
各関数にテスト用のシナリオメッセージを追加した。
待機表示メッセージが同じだったので、関数にして共通化した。

 
 

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