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

SESSION 13 その40
「見る」処理を作る(対象処理モード、結果処理モード) つづき
  対象処理モード:「見る」の対象リスト表示処理

それから、
対象処理モードの
「見る」処理を作りました。

「見る」の
対象リストの表示処理

を作ったよ。

何を見る?
1:ドア

って感じね。

部屋ごとに「見る」物が
違うから、部屋別に処理を
作りました。
対象処理モード関数の
中に作りました。
「移動」と違って
全部屋共通の処理
にはできないからね。
「見る」の分岐はもう
できてるからね。

その中に「移動」と
同じように作ったんだな。
 

テキストアドベンチャーゲーム
「見る」処理(対象処理モード、結果処理モード)
KottonCastleEscapeのKCEMain.java)185行目~
 
・・・    
185      /**
186       * 対象処理モード
187       */
188      private static void execModeTarget() {
189         //***** 入力された行動コマンドから対象コマンドを表示する *****
190    
191         //対象コマンドの一覧を表示
192         System.out.println("---------------------------------------------");
193    
194         //部屋ごとの処理
195         //***************
196         //もし入口なら
197          if (nowRoomNum == TAR_ROOM_ENTRANCE) {
198            //もし移動なら
199             if (inputNum == ACT_MOVE) {
200               selectMove();//対象モード 移動表示処理
201    
202            //もし見るなら
203            } else if (inputNum == ACT_LOOK) {
204               //全部の部屋共通の表示
205               System.out.println("何を見る?");
206               
207               //対象コマンド表示(ドア)
208               System.out.println(TAR_LOOK_ENTRANCE_DOOR + ":ドア");
209               
210            //もし使うなら
211            } else if (inputNum == ACT_USE) {
212               System.out.println("テスト:対象処理モード 使う"); //テスト用:表示確認
213    
214            }
215    
216         //***************
217         //もし廊下なら
218         } else if (nowRoomNum == TAR_ROOM_PASSAGE) {
219            //もし移動なら
220             if (inputNum == ACT_MOVE) {
221               selectMove();//対象モード 移動表示処理
222    
223            //もし見るなら
224            } else if (inputNum == ACT_LOOK) {
225               //全部の部屋共通の表示
226               System.out.println("何を見る?");
227               
228               //対象コマンド表示(窓、絵画)
229               System.out.println(TAR_LOOK_PASSAGE_WINDOW + ":窓");
230               System.out.println(TAR_LOOK_PASSAGE_PICTURE + ":絵画");
231               
232            //もし使うなら
233            } else if (inputNum == ACT_USE) {
234               System.out.println("テスト:対象処理モード 使う"); //テスト用:表示確認
235    
236            }
237    
238         //***************
239         //もし寝室なら
240         } else if (nowRoomNum == TAR_ROOM_BED) {
241            //もし移動なら
242            if (inputNum == ACT_MOVE) {
243               selectMove();//対象モード 移動表示処理
244    
245            //もし見るなら
246            } else if (inputNum == ACT_LOOK) {
247               //全部の部屋共通の表示
248               System.out.println("何を見る?");
249            
250               //対象コマンド表示(ベット、テーブル、金庫)
251               System.out.println(TAR_LOOK_BED_BED + ":ベッド");
252               System.out.println(TAR_LOOK_BED_TABLE + ":テーブル");
253               System.out.println(TAR_LOOK_BED_SAFE + ":金庫");
254               
255            //もし使うなら
256            } else if (inputNum == ACT_USE) {
257               System.out.println("テスト:対象処理モード 使う"); //テスト用:表示確認
258    
259            }
260    
261         }
262    
263      }
・・・    
対象処理モード関数の「見る」の分岐に部屋毎の処理を追加した


 
部屋ごとにどんな処理を
書いたか説明していくね。

作るのには、
主に出力の表を参考に
したよ。
 
そうだね、
対象リストを作るのに
出力の表は参考になるね。
   
 
 
 
出力の詳細(対象処理モード)
 
[出力] 対象リストの表示
「現在の部屋」>「選ばれた行動コマンド」>「対象リスト」を表示
現在の部屋 行動 表示メッセージ(対象リスト)
入口 移動 どこに?

1:入口 2:廊下 3:寝室
見る どこを?

1:ドア
使う なにを?

1:暗証番号1
2:暗証番号2
3:暗証番号3
4:金庫の鍵(所持の場合)
5:爆弾(所持の場合)
廊下 移動 どこに?

1:入口 2:廊下 3:寝室
見る どこを?

1:窓 2:絵画
使う なにを?

1:暗証番号1
2:暗証番号2
3:暗証番号3
4:金庫の鍵(所持の場合)
5:爆弾(所持の場合)
寝室 移動 どこに?

1:入口 2:廊下 3:寝室
見る どこを?

1:ベッド 2:テーブル 3:金庫
使う なにを?

1:暗証番号1
2:暗証番号2
3:暗証番号3
4:金庫の鍵(所持の場合)
5:爆弾(所持の場合)
 

     

まず
「入口」の「見る」の処理ね。

まず
「何を見る?」って聞くでしょ。

それから
入口で「見る」ものは「ドア」
しかないから、対象リストに
ドアを書きました。
コマンドのリストはドアだけか。

うーん。シナリオも無いし
なんかさみしい部屋だな。
えっ・・・
がらーんと
してんね。

テキストアドベンチャーゲーム
「見る」処理(対象処理モード、結果処理モード)
KottonCastleEscapeのKCEMain.java)194行目~
 
・・・    
194         //部屋ごとの処理
195         //***************
196         //もし入口なら
197          if (nowRoomNum == TAR_ROOM_ENTRANCE) {
198            //もし移動なら
199             if (inputNum == ACT_MOVE) {
200               selectMove();//対象モード 移動表示処理
201    
202            //もし見るなら
203            } else if (inputNum == ACT_LOOK) {
204               //全部の部屋共通の表示
205               System.out.println("何を見る?");
206               
207               //対象コマンド表示(ドア)
208               System.out.println(TAR_LOOK_ENTRANCE_DOOR + ":ドア");
209               
210            //もし使うなら
211            } else if (inputNum == ACT_USE) {
212               System.out.println("テスト:対象処理モード 使う"); //テスト用:表示確認
213    
214            }
・・・    
「入口」の「見る」対象リスト(ドア)を表示した


もうっ!
そういうこと言わないで!


あたし、
シナリオ書きたいの
我慢してるんだから!

す、すみません。

  む~
早く追加
したいのに。
しまった、
火に油
だった。。。


 
それから「廊下」。

ここには
・窓
・絵画
があるからね。

「見る」の選択肢で
表示するようにしたの。
 

うん、いいね。

もごもご  
  もう余計なこと
言わない。。。
 



テキストアドベンチャーゲーム
「見る」処理(対象処理モード、結果処理モード)
KottonCastleEscapeのKCEMain.java)216行目~
 
・・・    
216         //***************
217         //もし廊下なら
218         } else if (nowRoomNum == TAR_ROOM_PASSAGE) {
219            //もし移動なら
220             if (inputNum == ACT_MOVE) {
221               selectMove();//対象モード 移動表示処理
222    
223            //もし見るなら
224            } else if (inputNum == ACT_LOOK) {
225               //全部の部屋共通の表示
226               System.out.println("何を見る?");
227               
228               //対象コマンド表示(窓、絵画)
229               System.out.println(TAR_LOOK_PASSAGE_WINDOW + ":窓");
230               System.out.println(TAR_LOOK_PASSAGE_PICTURE + ":絵画");
231               
232            //もし使うなら
233            } else if (inputNum == ACT_USE) {
234               System.out.println("テスト:対象処理モード 使う"); //テスト用:表示確認
235    
236            }
・・・    
「廊下」の「見る」対象リスト(窓と絵画)を表示した


それから寝室。

まずベッドでしょ・・・

・ベッド
・テーブル
・金庫
を対象の選択肢に
表示するようにしました。
よし、いい感じだな。

これで対象処理モードの
「見る」処理は完了だね。
やったね!
ほー。

大分進んだね。 
 

テキストアドベンチャーゲーム
「見る」処理(対象処理モード、結果処理モード)
KottonCastleEscapeのKCEMain.java)238行目~
 
・・・    
238         //***************
239         //もし寝室なら
240         } else if (nowRoomNum == TAR_ROOM_BED) {
241            //もし移動なら
242            if (inputNum == ACT_MOVE) {
243               selectMove();//対象モード 移動表示処理
244    
245            //もし見るなら
246            } else if (inputNum == ACT_LOOK) {
247               //全部の部屋共通の表示
248               System.out.println("何を見る?");
249            
250               //対象コマンド表示(ベット、テーブル、金庫)
251               System.out.println(TAR_LOOK_BED_BED + ":ベッド");
252               System.out.println(TAR_LOOK_BED_TABLE + ":テーブル");
253               System.out.println(TAR_LOOK_BED_SAFE + ":金庫");
254               
255            //もし使うなら
256            } else if (inputNum == ACT_USE) {
257               System.out.println("テスト:対象処理モード 使う"); //テスト用:表示確認
258    
259            }
・・・    
「寝室」の「見る」対象リスト(ベッド、テーブル、金庫)を表示した

 
 

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