投稿
nyannzi CornedBeef
61~73の記述を増やしたらエラーが出るようになってしまったのですが原因がわかりません>< 文字が出て消えるだけの予定が・・・
3そうだね
プレイ済み
返信[1]
親投稿
nyannzi CornedBeef
たぶん解決しました。 BUTTONでGOSUBだと戻ってきた時に変になっちゃうから使えないと思い THENで飛ばしてGOTOで戻したら大丈夫そうです。 考え方あってるかな?
0そうだね
プレイ済み
返信[2]
親投稿
エラーメッセージにエラーの行が出てるはずですが何行目ですか? 気になったのは、64,65ですが、IFでTHENの位置にGOSUBって書けなかったような気が…。どうでしたっけ? あとところどころ:(コロン)が抜けていますが、僕は出来れば入れておいた方がいいと思いますよ。たしかにプチコンでは省略は出来るんですが一般的ではないので…。
0そうだね
プレイ済み
返信[3]
親投稿
直ったなら良かったのですが、ただこのコード、色々と危険というか気になりますね…。 例えばXボタンとか押したらおかしくなりませんか? 全体を見てないのでちゃんとしたことはわからないのですが…。
0そうだね
プレイ済み
返信[4]
親投稿
どう直ったのかはわかりませんが THEN の理解に誤りがある様なので念の為書きますね。 IF ○○ THEN △△ と書いた場合 もし ○○ならば △△の処理を行う という流れになります。 66の IF B==16 THEN @START は本来であれば IF B==16 THEN GOTO @START となるのですが THEN の後の GOTO は省略できる事になってます。 つまり THEN が @ に飛ばす命令ではないので「THENで飛ばして~」という理解には誤りがあるのです。
0そうだね
プレイ済み
返信[5]
親投稿
そして GOSUB は省略不可なので 64、65の IF B==1 GOSUB @UE IF B==1 GOSUB @SITA は IF B==1 THEN GOSUB @UE IF B==2 THEN GOSUB @SITA とすればきちんと通る様になります。 Miiverseって投稿間隔や文字数だけじゃなく行数にも制限があるんですね・・・ プチコンコミュには厳しいかも(´・ω・`)
0そうだね
プレイ済み
返信[6]
親投稿
nyannzi CornedBeef
なるほど。しっかりと省略が可能なところと出来ないところを理解しないとダメですね。ありがとうございます!
0そうだね
プレイ済み
返信[7]
親投稿
それから IF ○○ THEN △△ ELSE ▲▲ と書いた場合 もし ○○ならば△△の処理を行い、そうでないならば▲▲の処理を行うという流れになりますが THEN の後の GOTO と違い ELSE の後の GOTO は省略できない決まりになってるので もし IF B==1 THEN @UE ELSE GOTO @TOP2 みたいなことをする場合は IF B==1 THEN @UE ELSE @TOP2 だとエラーになるので注意してください。
0そうだね
プレイ済み
返信[8]
親投稿
あー嘘、嘘、ごめんなさい 今試したら ELSE の後の GOTO も省略できました プチコンェ…
0そうだね
プレイ済み
返信[9]
親投稿
otta777 otta777a
この記述の仕方だとSTの値が0以外になった場合にRETURN without GOSUBのエラーが発生します。今の状態だとSTは変化しないので エラーは出ないと思いますが思わぬバグの原因になってしまいます。 IF文のどの条件にも当てはまらなかったときに@UE以降が実行 されないようにしないといけませんね。 この場合はGOTO @TOP2でいいのかな?
1そうだね
プレイ済み
返信[10]
親投稿
あ、ちょっと勘違いしてた。僕の最後の発言は無視してください…
0そうだね
プレイ済み
返信[11]
親投稿
nyannzi CornedBeef
おかげさまで、とりあえず形になりました。ありがとうございます! よかったら見てください 「S2KXVEQE」
0そうだね
プレイ済み