プチコン3号 SmileBASIC コミュニティプレイ日記まりを tomoyaTT882017/01/02 00:20:34DEFってどうやってつかうんだろうと調べてもよくわからず…… 4そうだね 9返信プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿say sayer.exe2017/1/2 0:25gosubのちょっと便利なバージョンと思ったら楽ちん楽ちん2そうだね プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿まりを tomoyaTT882017/1/2 0:31どこかで『オリジナルで命令を定義』というのをききました………0そうだね プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿ぴくと kanau12032017/1/2 0:39def 関数名 [引数] 命令 ~ return end 基本こんな感じ。 引数渡したり戻り値を返すこともできる。 また引数にも戻り値にも配列を指定できる。 2そうだね プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿だにえる haru2016nen2017/1/2 3:11【サブルーチンとして使う場合】 @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そうだね プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿だにえる haru2016nen2017/1/2 3:23【サブルーチン:引数あり】 引数と同じ画面をCLSする命令を作る場合。 DP=1 @A DISPLAY DP:CLS RETURN GOSUB@A ============== DEF A DP DISPLAY DP:CLS END A 0(スペースを空けて引数)で呼び出し。 引数があるので、この場合は 「サブルーチン」ではなく 普通に「命令」っぽい使い方になる。 引数は2つ以上にも対応。0そうだね プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿だにえる haru2016nen2017/1/2 3:37【関数(特殊な計算結果を返す)バージョン】 POWという数値の累乗を返す関数が あるが、 これを使って「引数の2乗を返す自作関数」 を作るとする。 DEF A(N) RETURN POW(N,2) END PRINT A(10)'利用 100'実行結果 OK となる。 関数の場合は()は必ず必要。1そうだね プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿おおみの Omi-no-mino-3982017/1/2 3:44定義した計算式ないし処理の詰め合わせを簡単なキーワード一発で呼び出せる、といえばわかるでしょうか。たとえば DEF PRB(P%,Q%) RETURN (RND(Q%)<P%) END のように書いて、A=PRB(1,3) とすると Aに0か1が入ります(この場合だと1/3の確率で1になります)。0そうだね プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿say sayer.exe2017/1/2 4:44「オリジナルの命令を定義」と「サブルーチンジャンプ」のどこが違うの? 字面に騙されちゃダメよ 実際なところ、どっちも「制約の付いたgoto」だと思えば楽ちんな話よ1そうだね プレイ済み2017/11/03 01:10:29に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿STiNGER STiNGER89012017/1/2 10:35スプライトや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 END1そうだね プレイ済み2017/11/03 01:10:29に取得