プレイ日記
これだとエラーになってしまいます… どうすればよいでしょうか?
1そうだね
プレイ済み
返信[1]
親投稿
********** itd12d
どこの行が何のエラーになるのでしょうか?
0そうだね
プレイ済み
返信[2]
親投稿
Hanzo rzsense
17行目でRETURN without GOSUBエラーが出るのでは? @TEKIDERUサブルーチンを呼び出している10行目は、本来@MAINループの中のどこかに入れるべき処理だと思いますが・・・
1そうだね
プレイ済み
返信[3]
親投稿
Hanzo rzsense
10行目のIF分岐を@MAINループ内に移動したとしても、@TEKIDERUサブルーチン(@TEKIDERUからRETURNまでの部分)が現在の位置にあると、結局GOSUBで呼び出される前に実行されてRETURN without GOSUBエラーが出るので、@TEKIDERUサブルーチンは@MAINループ外、かつ@MAINループよりも下に置く必要があると思います。
1そうだね
プレイ済み
返信[4]
親投稿
とりあえず一番下に移動させました。 でも、0000のスプライトが出現しないのですが、どうすればいいのでしょうか? 度々すみません…
0そうだね
プレイ済み
返信[5]
親投稿
Hanzo rzsense
現リストの32~35行目の部分は、プログラム起動後1回だけ実行すればよい初期化部分だと思われるので、元の位置から移動する必要はなかったです。 39~45行目は現在位置でOKです。 問題は38行目です。この行は、条件に応じて39行目以降の@TEKIDERUサブルーチンを呼び出す役割があるので、@TEKIDERUサブルーチンの直上にあるのでは無意味です。38行目は本来、@MAINループの中にあるべきと思います。当方の思い違いであればご容赦ください。 なお、蛇足かも知れませんが念のために申しますと、BASICプログラムは、GOTOやGOSUBでジャンプする場合を除けば、行番号の若い方から順繰りに実行されます。
0そうだね
プレイ済み