行動処理モードを作る つづき |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
じゃあ、最後に
動作テストをしよう。
今回の場合、
全ての部屋のメッセージが
きちんと表示できるか確認
しよう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
うーん、でもまだちゃんと
動かせないから・・・
部屋の移動もできないし。
どうやって確認すれば
いいのかな? |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
うーん。 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
いろいろなやり方ができるけど。
今回は一番単純に
コードの変数の値を一時的に
書き換えよう。
変数
nowRoomNumの初期値を
別の部屋の定数に書き換えればOK。
これで番号の部屋に移動したのと
同じ。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
そうか。
「現在の部屋番号」で
部屋を分岐するから。
部屋番号が変われば、
別の部屋に行ったことに
なるんだね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
これだけ。 |
 |
|
 |
簡単だね。 |
|
|
|
 |
|
 |
|
テキストアドベンチャーゲーム
行動処理モード
(KottonCastleEscapeのKCEMain.java)30行目~ |
|
・・・ |
|
|
030 |
|
//******************************************** |
031 |
|
// 変数 |
032 |
|
//******************************************** |
033 |
|
private static int inputNum = 0;//入力番号 |
034 |
|
private static int nowMode =
MODE_GAME_1_ACT;//現在の処理モード:最初は1階層目 |
035 |
|
private static int nowRoomNum =
TAR_ROOM_PASSAGE;//現在位置:ドアの部屋から開始 |
・・・ |
|
|
|
定数を「入口」から「廊下」に書き換えた。
これでゲーム開始の部屋が「廊下」になった。 |
|
現在の部屋番号の変数 nowRoomNum の初期値を書き換えてテストする |
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
やった、これだけで
部屋を移動できるんだ。
これを繰り返せば
全部の部屋のメッセージ
を表示できるね! |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
にせっこ
だけど。 |
|
必ず戻す事!
重要!
ってさ、
分かってても
忘れるん
だけどねー。 |
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
そゆこと。
「一時的に
コードの値を書き換える」
単純だけど有効な
テストの仕方の1つだよ。
覚えておいてくれ。
テストが終わったら
必ず値を戻しておくのを
忘れないでね。
バグの原因になるからね。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゃあ、テストしてみてくれ
入口、廊下、寝室とテスト
してくれ。
今は停止処理が無いからね。
部屋のメッセージを表示したら
一旦デバッグを停止して
初期値の定数を書き換えて、
またデバッグ・・・を繰り返そう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
はいっ。
全部の部屋のメッセージ、
表示できました。
部屋の状況も行動コマンドも
入力用のマークもちゃんと
表示できてるし・・・。
初期値もちゃんと
入口の部屋に戻しました。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
おっ、ちゃんと
値戻したね! |
 |
|
 |
ばっちり
でっす! |
|
|
|
 |
実行結果(出力ウィンドウ):入口 |
|
 |
実行結果(出力ウィンドウ):廊下 |
|
 |
実行結果(出力ウィンドウ):寝室 |
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
よし、行動処理モード
完成だな。
少し形になってきたね。
よくできました。 |
|
|
 |
 |
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
 |
がんばったね。 |
|
|
|
|
|
|
拡大表示はこちら
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
じゅあ、次に行こう!
次は対象処理モード
を作ろう。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
 |
 |
 |
|
|
|
|
 |
|
|
|
|
|
|
 |
進んでるね! |
|
|
|
 |
|
 |
|
課題一覧
テキストアドベンチャーゲーム作成の流れ |
|
目的 |
課題 |
動くプログラムを作る |
1、メインループと入出力処理を作る |
2、各モードの関数の枠とモードの切換処理を作る |
3、行動処理モードを作る |
4、対象処理モードを作る(「移動」処理のみ) |
5、結果処理モードを作る(「移動」処理のみ) |
|
その他の処理を作る |
6、「見る」処理を作る(対象処理モード、結果処理モード) |
7、「使う」処理を作る(対象処理モード、結果処理モード) |
8、オープニング、エンディングを作る |
9、エラー処理を作る |
10、シナリオを追加する |
|
|
|
仕様書を元に課題を解いて下さい |
各課題は、出題 ヒント 解答 の流れになります |
|
|
 |
|
 |
|
|