投稿
ゆず#あつあく miyu-03-12-22
GOSABの使い方を教えてください。
1そうだね
プレイ済み
返信[1]
親投稿
ゆず#あつあく miyu-03-12-22
間違えました>< GOSUB でした><
1そうだね
プレイ済み
返信[2]
親投稿
SquidSky ugomemo_gorohati
GOSUB命令は、GOTOと似ていますが RETURN命令を実行することによりGOSUB命令を実行したプログラムの行に戻ります。 @MAIN GOSUB @MOJI PRINT "456" END @MOJI PRINT "123" RETURN また、RETURN命令の第1パラメータに数値をセットすることにより返り値を設定できます。
0そうだね
プレイ済み
返信[3]
親投稿
おおみの Omi-no-mino-398
GOSUBは同じような処理をさせるときにメインルーチンから呼び出して使います。 たとえばキー入力待ちの処理をメインのいろいろなところに配置してる場合、それをサブルーチンに移してGOSUBで呼ぶようにすれば処理の記述はひとつですみますし、修正もその一箇所だけで済むといった利点があります。 しかしプチコン3号ではユーザー定義関数/命令がとても強力なので、GOSUBの出番はあまりない気もします・・・。
0そうだね
プレイ済み
返信[4]
親投稿
GOSUBの使い方。 同じような処理をどの場面でも使いたい場合や自機の移動や敵機の行動など「ブロック単位」でやりたい事をひとまとめにして作るのがサブルーチンつまりGOSUBです。 FOR I=0 TO 9 GOSUB @STAR NEXT END @STAR LOCATE RND(50),RND(30):?"★"; RETURN こんな感じで。
1そうだね
プレイ済み
返信[5]
親投稿
続いてDEF。 例えば「表示だけ」、「計算だけ」、「読みこみだけ」のように1つの事だけを行いたい時にはDEFの方が便利です。 FOR I=0 TO 9 STAR RND(50),RND(30) NEXT END DEF STAR SX,SY LOCATE SX,SY:?"★"; END こんな感じになります。DEFの最後はENDで締めるのを忘れずに。
1そうだね
プレイ済み
返信[6]
親投稿
ΖΕΧ ZEX256
GOSUBの方がお手軽だし速いのでよく使う。 DEFは遅い! 速いプログラムつくるならGOSUB
0そうだね
プレイ済み
返信[7]
親投稿
Godot orz_127
慣れるとDEFの方が自分で定義した命令や関数を、元々プチコンに用意されているコマンドや関数と同じ様に使えて便利で扱いやすいのですが…。 ちょっと難しいかも。 なので、先ずは基本のGOSUBから と言うことで、簡単なタイトル表示の例。 ゆずさんの面体積のプログラムで同じタイトル表示の部分が2箇所ありました。 こんな風にしたらどうですか?という提案もかねて。 サブルーチンにして一ヶ所にまとめておくと、修正する場合、その一ヶ所で済むという利点も有ります。
0そうだね
プレイ済み