プレイ日記
まりを tomoyaTT88
DEFってどうやってつかうんだろうと調べてもよくわからず……
4そうだね
プレイ済み
返信[1]
親投稿
say sayer.exe
gosubのちょっと便利なバージョンと思ったら楽ちん楽ちん
2そうだね
プレイ済み
返信[2]
親投稿
まりを tomoyaTT88
どこかで『オリジナルで命令を定義』というのをききました………
0そうだね
プレイ済み
返信[3]
親投稿
ぴくと kanau1203
def 関数名 [引数] 命令 ~ return end 基本こんな感じ。 引数渡したり戻り値を返すこともできる。 また引数にも戻り値にも配列を指定できる。
2そうだね
プレイ済み
返信[4]
親投稿
だにえる haru2016nen
【サブルーチンとして使う場合】 @A FOR L=0 TO 1:DISPLAY L:CLS:NEXT RETURN GOSUB@Aで呼び出すとする。 これをDEF化すると DEF A FOR L=0 TO 1:DISPLAY L:CLS:NEXT END A(1文字)で呼び出せる
1そうだね
プレイ済み
返信[5]
親投稿
だにえる haru2016nen
【サブルーチン:引数あり】 引数と同じ画面をCLSする命令を作る場合。 DP=1 @A DISPLAY DP:CLS RETURN GOSUB@A ============== DEF A DP DISPLAY DP:CLS END A 0(スペースを空けて引数)で呼び出し。 引数があるので、この場合は 「サブルーチン」ではなく 普通に「命令」っぽい使い方になる。 引数は2つ以上にも対応。
0そうだね
プレイ済み
返信[6]
親投稿
だにえる haru2016nen
【関数(特殊な計算結果を返す)バージョン】 POWという数値の累乗を返す関数が あるが、 これを使って「引数の2乗を返す自作関数」 を作るとする。 DEF A(N) RETURN POW(N,2) END PRINT A(10)'利用 100'実行結果 OK となる。 関数の場合は()は必ず必要。
1そうだね
プレイ済み
返信[7]
親投稿
おおみの Omi-no-mino-398
定義した計算式ないし処理の詰め合わせを簡単なキーワード一発で呼び出せる、といえばわかるでしょうか。たとえば DEF PRB(P%,Q%) RETURN (RND(Q%)<P%) END のように書いて、A=PRB(1,3) とすると Aに0か1が入ります(この場合だと1/3の確率で1になります)。
0そうだね
プレイ済み
返信[8]
親投稿
say sayer.exe
「オリジナルの命令を定義」と「サブルーチンジャンプ」のどこが違うの? 字面に騙されちゃダメよ 実際なところ、どっちも「制約の付いたgoto」だと思えば楽ちんな話よ
1そうだね
プレイ済み
返信[9]
親投稿
STiNGER STiNGER8901
スプライトやBGの各個にサブルーチンを割り当てて自動管理できる、コールバックという機能でも使います。 ACLS FOR I=0 TO 500 OBJ=SPSET(RND(10)) SPOFS OBJ,RND(384),RND(224) SPFUNC OBJ,"FALL" NEXT DEF FALL SPOFS CALLIDX OUT X,Y Y=Y+2-240*(Y>240) SPOFS CALLIDX,X,Y END
1そうだね
プレイ済み