投稿
ポコきち pokokichi
初心者講座[第14回] ・サブルーチンを使ったプログラム
3そうだね
プレイ済み
返信[1]
親投稿
ポコきち pokokichi
サブルーチンとは、 何度も必要となる処理、一連の作業を まとめたもので呼び出して使います。 GOSUB @ラベル @ラベル  処理  RETURN GOSUB命令で指定したラベルにジャンプし、 RETURN命令で呼び出された直後に戻ります。
0そうだね
プレイ済み
返信[2]
親投稿
ポコきち pokokichi
前回作ったプログラムで "U","D","L","R"が入力された時の処理として LOCATE PLAYERX,PLAYERY:PRINT " " FLAG=1 この2行の同じ処理が行われていました。 この処理をGOSUB命令で呼び出して 実行するようにしたのが↓の写真です。
0そうだね
プレイ済み
返信[3]
親投稿
ポコきち pokokichi
写真1
0そうだね
プレイ済み
返信[4]
親投稿
ポコきち pokokichi
写真2
0そうだね
プレイ済み
返信[5]
親投稿
ポコきち pokokichi
このプログラムを実行してキャラクターを 動かした方は気付いていると思いますが、 キャラクターが画面の外に出てしまうと エラーが出てプログラムが終了されます。 キャラクターが画面外に行かないように 点線より下に行かないようにしてみよう!
0そうだね
プレイ済み
返信[6]
親投稿
ポコきち pokokichi
キャラクターの移動出来る範囲 X座標:0~49 ・ Y座標:0~24 文字を入力されたときに 動かす前のキャラクターの位置情報をみて 動かすと範囲を超えるなら処理を行わないように IF THEN命令を使って制御させました。
0そうだね
プレイ済み
返信[7]
親投稿
ポコきち pokokichi
写真1
0そうだね
プレイ済み
返信[8]
親投稿
ポコきち pokokichi
写真2
0そうだね
プレイ済み
返信[9]
親投稿
ポコきち pokokichi
プログラムを見直したところ 必要な処理が抜けていたので追加しました。 18行目:KEYCHR$="" 不要な処理があったので削除しました。 "U","D","L","R","E"以外の文字が 入力された時の処理として FLAG=0としてましたが必要ない処理でした。 (FLAGの値が0であるため0にする必要がない) 上のプログラムは修正済みです。
0そうだね
プレイ済み
返信[10]
親投稿
ポコきち pokokichi
関連する処理をGOSUB命令で呼び出して 使うようにしてみました。
0そうだね
プレイ済み
返信[11]
親投稿
ポコきち pokokichi
写真1
0そうだね
プレイ済み
返信[12]
親投稿
ポコきち pokokichi
写真2
0そうだね
プレイ済み