トピック
ゆうき yuuki-morita0421

プログラム間の移動

つい先程プログラムを作っている最中に分からなくなったので質問します。 0番で進行中のプログラムで1番に別のプログラムを読み込んでそのプログラムに飛びます。で、そのプログラムから0番のプログラムに戻って今度は別のプログラムを1番に読み込みます。んで飛んだんだけど、飛んだのは今読み込んだプログラムじゃなくて、一回目に読み込んだプログラムなのです。 あれっ?っと思ってプログラムを停止して1番を見てみると間違いなくちゃんと2回目に読み込んだプログラムなのです。ちょっと複雑だけどわかる人教えてください。
0そうだね
プレイ済み
返信[1]
親投稿
「飛ぶ」とは?EXEC?GOTO?GOSUB? とりあえずGOSUBという前提で。 試した感じちゃんと動きそうです。 プログラムの何かがおかしいのかもしれません。 (『キリトリ』で切り取ってそれぞれの名前で保存してください) 再現できる最低限のコードがあれば何かわかるかもしれません
1そうだね
プレイ済み
返信[2]
親投稿
クッキーさんのが回答になっていると思います。少し補足すると、3号には、編集用と実行用の2つのプログラムがあります。実行用はRUN,USE,EXECで作られます。よって、LOADと実行の間にUSE,EXECが必要です。用途に合うかわかりませんが、対処例をスクショに書きます。
0そうだね
プレイ済み
返信[3]
親投稿
ゆうき yuuki-morita0421
私が書いたプログラムはGOTOでやってます。ちなみに一番に読み込んだプログラムに飛ぶのは、両方ともGOTO"1:@A"でラベルは同じです。
0そうだね
プレイ済み
返信[4]
親投稿
ゆうき yuuki-morita0421
一応こんな感じです。 左の方には長ったらしいIFが4つともあります。 もう一度説明すると、ゲーム1を一番にロードしてGOTOで移動。ゲーム1から元のプログラムに戻り、次はゲーム2を一番にロードし、同じくGOTOで移動。すると移動したのは、ゲーム2をロードするときに上書きされたはずのゲーム1だった。 というような感じです。 (私はUSEを使ってます。)
0そうだね
プレイ済み
返信[5]
親投稿
ゆうき yuuki-morita0421
もしかして、プログラムを読み込むごとにUSEしなければいけないんですか?
0そうだね
プレイ済み
返信[6]
親投稿
試した感じ、GOTOにしても動いてるようにみえます。 LOADの直後にGOTOでジャンプしてますが、GOTOの前にUSEしてもダメでしょうか?
0そうだね
プレイ済み
返信[7]
親投稿
LOADをUSEに変更するか、LOADとGOTOの間に:USE 1:を追加すれば、正常に動作すると思います。 USEは、毎回実行する必要があります。
0そうだね
プレイ済み
返信[8]
親投稿
ゆうき yuuki-morita0421
おー! LOADとGOTOの間にUSEを入れると正常に動作しました。コータさん、クッキーさんありがとうございました。
0そうだね
プレイ済み