トピック
シオン ITE31040

MAP!MAP!THE MAP!わからない。

うーん…? -1にしたのはいいけど、ゲームのマップ選択では、-1されてない…。 (´'~'`)どうしよう…。
0そうだね
プレイ済み
返信[1]
親投稿
ケイン KEIN.HORGAN
ちょっとその画面だけでは良く分からないんですが、何が問題になっているんですか?
0そうだね
プレイ済み
返信[2]
親投稿
シオン ITE31040
MAP5で死んだとして、MAP4になってくれない。 あと、このゲームはおかっぺBEERさんの作品です。
0そうだね
プレイ済み
返信[3]
親投稿
ケイン KEIN.HORGAN
自分はその作品をダウンロードはしていないので、想像しか出来ないのですが(作品名も分からない) シオンさんの想像としては、 MAX_MAP = MAX_MAP-1 としたら、今いるマップのひとつ前のマップに自動的に移動するんじゃないかなぁ、と思ってやってみたところ、実はそうはならなかった、という事ですか? そうだとすると、考えられるのは、 1.MAX_MAP はマップ移動に関わっていない 2.そもそもIF 文の条件を満たしていない のどちらかでしょうか?
1そうだね
プレイ済み
返信[4]
親投稿
シオン ITE31040
IFは、そのままでいいんですが、MAPを1つ前にもどすやり方だけが、わからないだけです。その方法がわかったら、いいんだけど…。
0そうだね
プレイ済み
返信[5]
親投稿
ケイン KEIN.HORGAN
今でもその作品はDL 出来ます? 出来るようであれば、ちょっとDL して確かめてみるのもいいかな、と思うので、作品名を教えていただけませんか?
0そうだね
プレイ済み
返信[6]
親投稿
シオン ITE31040
おかっぺさんのほうですか?
0そうだね
プレイ済み
返信[7]
親投稿
ケイン KEIN.HORGAN
えーと、まずはおかっぺさんの物ですね。 それと、シオンさんがどこを修正したのかが分からないとやりようがないので、もし画像で上げている以外の場所も修正しているなら、その箇所を教えてください
0そうだね
プレイ済み
返信[8]
親投稿
シオン ITE31040
公開キー V3E8N3A1 変えたのは、こことさっきのところと、最初のMAX_MAP=1とMAP選択=1にしたくらいです。
0そうだね
プレイ済み
返信[9]
親投稿
ケイン KEIN.HORGAN
シオンさんがゲームオーバー時に追加した処理は、マップ番号最大値(MAX_MAP)を減らす処理ですね。 つまり、仮にマップ番号5でミスした場合、 「現在のマップ番号は5のままで、マップ番号最大値(MAX_MAP)を4にする」 という処理になります。 そして、ちょっとコードを読んでみましたが、マップ描画処理の際、現在のマップを示す変数「MAP」と、マップの最大値である「MAX_MAP」について、チェックをしていないみたいですね。 (※このチェックは、マップ選択処理の際に行っているようなので、普通は問題になりません) つまり、マップ番号最大値が4になっていたとしても、マップ番号5を指定した場合、マップ番号5のマップが描画されてしまいます。 これが、「ミスしても前のマップに戻らない」理由ですね。
0そうだね
プレイ済み
返信[10]
親投稿
シオン ITE31040
それで、どうすればいいんですか? そこからかわからなくて…。
0そうだね
プレイ済み
返信[11]
親投稿
ケイン KEIN.HORGAN
基本的には、MAP 変数をミス時に減らせばいいんだとは思いますが、ちょっとすぐには分からないです。 (うまくいく時と、うまくいかない時がある……) 条件が分からないんですが、たまにマップ番号表示だけ戻って、マップ自体は戻らない事がある…… なんでだろ?
1そうだね
プレイ済み
返信[12]
親投稿
ケイン KEIN.HORGAN
あ、分かりました。 このソフトの流れですが、 1.TITLE 表示命令(ユーザー定義命令)実行。2~5はユーザー定義命令の中で実行。 2.ループ開始 3.マップ選択待機( → ゲーム開始 → クリア or ミス) 4.MYCNT==0 になったらマップ表示 5.2に戻る となっています。 なので、 ・ミス時にMAP の値を1減らす ・MYCNT を 0 にする を行えば大丈夫だと思います。
0そうだね
プレイ済み
返信[13]
親投稿
シオン ITE31040
行い方がわからないよ~!
0そうだね
プレイ済み
返信[14]
親投稿
ケイン KEIN.HORGAN
うーん。えーと、まず確認なのですが、プログラムの流れは追えていますか? つまり、「タイトル」→「マップ選択」→「ゲーム開始」→「クリア or ミス」→「マップ選択に戻る」 が、プログラム上ではどこの部分か? という事が分からないと厳しいと思います。
0そうだね
プレイ済み
返信[15]
親投稿
シオン ITE31040
それは、わかっているんですがMAP選択で、-1にするやり方がわからないんですよね。
0そうだね
プレイ済み
返信[16]
親投稿
ケイン KEIN.HORGAN
すみません、それなら話は簡単だと思うのですが、一体何が分からないのですか? 「ミス時にMAPの値を-1する」 「MYCNTを0にする」 この二つの作業をすれば大丈夫だと思うのですが……
0そうだね
プレイ済み