プチコン3号 SmileBASIC コミュニティ投稿しょぼーん sin52382015/02/25 19:15:25質問DEF命令がよくわかりません(> <) ヘルプも読んだのですが、理解できませんでした… どなたか解説してもらえれば幸いです!5そうだね 10返信プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿りゅうまご ryumago2015/2/25 19:52次のようなプログラムを書いて試してみてください 単純に引数の値を出力する関数です この書き方の場合、戻り値はありません DEF FUNC S$ PRINT S$ END FUNC "TEST FUNC!" 0そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿りゅうまご ryumago2015/2/25 19:58次に戻り値をもつ関数です この例では1つ目の引数と2つ目の引数を足した結果を返却します DEF FUNC2(A,B) RETURN A+B END PRINT FUNC2(5,7) PRINT FUNC2(8,3) 0そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿りゅうまご ryumago2015/2/25 20:06戻り値が2つ以上ある関数の書き方は DEF FUNC3 S$ OUT RET1$,RET2$ VAR IDX=INSTR(S$,",") IF IDX>-1 THEN RET1$=MID$(S$,0,IDX) RET2$=MID$(S$,IDX+1,LEN(S$)) ELSE RET1$=S$ RET2$="" ENDIF END FUNC3 "TEST,PRG" OUT S1$,S2$ PRINT S1$ PRINT S2$0そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿りゅうまご ryumago2015/2/25 20:13上二つの例は関数にするまでもないようなテストプログラムですが 実際に関数にする内容は『繰り返し実行する処理』をまとめたり ややこしい条件をスッキリさせるのに使ったり出来ます 1そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿りゅうまご ryumago2015/2/25 20:27二回以上同じような処理を使いたい時に関数に出来ないかをまずは考えてみましょう どこの画面でもXボタンを押したらオプション画面が呼び出せるようなゲームを作るプ場合 オプションを表示して制御する関数を作っておけばタイトル画面でも プレイ中でもオプションを呼びたい所に関数を呼び出す記述を書くだけで済みます 何度も同じ記述をあちこちに書くとバグが有ったときには書いたところ全てを同じように直さないといけないし 修正漏れが発生する可能性も高くなります なので、まとめられそうな箇所はまとめて関数にしてしまうのがお勧めです 無理そうなら無理に関数化しなくて良いんです 出来そうなところから試してみてください2そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿りゅうまご ryumago2015/2/25 20:38すみません、消し忘れがあるまま投稿してしまいましたorz 3つ目の関数は『,』で区切られた文字を2つに分解して取得する関数です この『,』を『-』に変えると 郵便番号の入力等「123-1234」の入力を前と後ろに分解出来ます そのあと、郵便番号で住所検索等させるとか データとしては『-』なしの1231234で保存する等の処理が可能です 0そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿りゅうまご ryumago2015/2/25 20:46この処理何回も書いてる気がする とか、この処理こっちでも使いたいな とか、思ったら関数にするチャンスですよ あまり、ゲームのプログラムは書いていないため いい例が書けなくてすみません 質問があれば答えますのでサンプル書いて試したりしてみてください 0そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿ゆうたん yu-tan-sama2015/2/25 21:29まず前提として、DEF命令とは… 新しい命令教えてやるから覚えとけ という命令です 今度からこういう命令だすから、こう動けという指示です 細かい使い方はりゅうまごさんの例の通りですね~ 強いて付け加えておくなら DEFの中で定義した変数は外とは完全に独立して扱われます なので、中でVAR X,Yとか記述してあげればXとかYみたいなわかりやすい変数名を遠慮なく使えるのでサブルーチンよりも便利ですしバグも引き起こしにくいです1そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿STiNGER STiNGER89012015/2/25 23:10例えばこんな使い方。 PRINTって、大抵LOCATEやCOLORと組み合わせて使うと思うんです。 だったら合体させちゃおう! すっきりコンパクトになりました。2そうだね プレイ済み2017/11/03 23:21:25に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿しょぼーん sin52382015/2/26 19:17みなさん本当にありがとうございました! なんとなくですけど理解できました! 大雑把に言うと、『命令を組み合わせて命令を作る』ということですね! かなり便利な命令ですね! 勉強になりました!ありがとうございました!!1そうだね プレイ済み2017/11/03 23:21:25に取得