プチコン3号 SmileBASIC コミュニティ返信[26]親投稿おかっぺ Japanese_WASABI2014/12/24 7:04あとは、DEFを上手に設計しておくと、内部ロジックの変更が外部に影響しない、と言うのもあると思うけど、ちょっと説明が難しいなぁ。 親投稿に共感した方々って、この投稿に気付かないよなぁ。最初の回答に不足があったので、申し訳ないッス。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[25]親投稿おかっぺ Japanese_WASABI2014/12/24 6:45ごめんなさい、今、ふと気付いたのですが、変数の名前を変えられる、と言うのがDEFの1番便利なところかもしれません。 通常、主人公と敵の変数は、別の名前になっていると思いますが、DEFを使うと(先程のユーザ関数の例の様に)DEFの前後で別の名前で扱うことが出来ますね。 GOSUBでこれをやろうとすると、呼び元で一旦、編集様変数に主人公や敵の座標をコピーして、たGOSUBして、戻ってきたら編集様変数から主人公や敵の座標にコピーして、とたくさん書かなきゃいけないから、変数名の変更が簡単に出来るのも、1つの特徴かなあと思います。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿おかっぺ Japanese_WASABI2014/12/23 19:00キャラを見て、まさか!と思ったら左上に答えが書いてあったと言うw 面白いですよね。0そうだね プレイ済み2017/11/04 00:50:28に取得
プチコン3号 SmileBASIC コミュニティ返信[21]親投稿おかっぺ Japanese_WASABI2014/12/23 12:22不思議に思うのも仕方ないかもしれません。 実はプログラムの世界では、不便にすることでバグが減る事があり、DEFもその一種の様な性質があります。 例えば、OPTION STRICT。不便になるだけに感じますがバグを未然に防いでくれます。 ユーザ命令、関数も同じ様に意図せず変数を壊してしまうのを防いだり、見た目がキレイになる、くらいのものです。でも、プログラムが大きくなるほど大事さがわかってきますよ。 昔のBASICには無かったし、使わないなら使わないでも良いと思います。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[19]親投稿おかっぺ Japanese_WASABI2014/12/23 11:47例えば主人公のスプライトが画面外に出られない様に、X=BETWEEN(X,0,400-16)みたいにすればスプライトは画面外に出られなくなりますよ♪0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[18]親投稿おかっぺ Japanese_WASABI2014/12/23 11:42DEF BETWEEN(V,MIN,MAX) IF V<MIN THEN RETURN MIN IF MAX<V THEN RETURN MAX RETURN V END 多分、これで範囲内の値しか帰って来ないから、境界チェックで便利だと思います。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[14]親投稿おかっぺ Japanese_WASABI2014/12/23 10:27ごめんなさい! 4つ目のコメントのDEFは、以下にしてください。 DEF ORDER VAR I=5 PRINT I END PRINT命令が抜けていました・・やっちまったー0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿おかっぺ Japanese_WASABI2014/12/23 10:24長々書いてしまいましたが、あまり、説明がうまい方でも無いので、もしわからなければ、その旨、書いちゃってください。 きっと、誰かが代わりに説明してくれるはず♪0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿おかっぺ Japanese_WASABI2014/12/23 10:22また、楽しいゲーム待ってますね♪ 3つ前のコメントに一ヶ所、訂正があります。使い捨ての変数はDEFの後か、DEFの中で初めて使う様にしてください。が、正しいです。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿おかっぺ Japanese_WASABI2014/12/23 10:18ユーザ関数は、考え方はユーザ命令と同じですが値が1つだけ帰ってきます。 DEF TASIZAN(L,R) RETURN L+R END PRINT TASIZAN(5,3) を試してみて下さい。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿おかっぺ Japanese_WASABI2014/12/23 10:15実際に使ってみると、使い捨ての変数をDEFに渡したい場合や、DEFの中で作った使い捨ての変数を返して欲しい場合があるので、その時は人のプログラムか説明書を見てみてね。 (それでも、わからなければ、またきいて下さい。)0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿おかっぺ Japanese_WASABI2014/12/23 10:12主人公の座標など、ずっと覚えておきたいものは、DEFの前に作っておく。 ただし、FOR文のインデックスなど、使い捨てにしたい変数は、必ずDEFの後に書く。 こうすることで、冒頭に書いたGOSUB の不便な点を回避することが出来ます。 (使い捨ての変数は、DEFに影響しないのでFOR文に同じインデックスを使えるし、使い捨てなので、変数の意味をずっと覚えておく必要も無くなる)0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿おかっぺ Japanese_WASABI2014/12/23 10:071つ前のコメントは難しいですが、最初に書いたDEFを使ったプログラムのDEF~ENDを今度は、プログラムの最後に移動させて、動かしてみて下さい。 また、値が変わりましたよね? ちょっと混乱しやすいところなので、 慣れるまでは、以下のルールを守っておけば、扱いやすいと思います。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿おかっぺ Japanese_WASABI2014/12/23 10:00DEF とGOSUB で結果が違うのがわかりますでしょうか? DEFの中で作られた変数は、DEFの外の世界の変数とは同じ名前でも別物になると言うことです。 ※プチコンでは、DEFより上で変数を作ると、その変数はDEFから参照書き換え可能。DEFより下で変数を作ると、その変数はDEFから参照書き換え不可。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿おかっぺ Japanese_WASABI2014/12/23 9:55上記をGOSUB でやると、以下のようになりますね。 GOTO @MAIN @LABEL VAR I=5 PRINT I RETURN @MAIN I=3 PRINT I GOSUB @LABEL PRINT I 0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿おかっぺ Japanese_WASABI2014/12/23 9:50DEF~ENDが、GOSUBで言うところのラベル~RETURNに相当し、呼び出しはDEFで定義した名前、ORDER と書くことで行います。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿おかっぺ Japanese_WASABI2014/12/23 9:48GOSUB との違いは、DEFの中で作った変数はDEFの中でしか見られないと言うことです。 DEF ORDER VAR I=5 END I=3 PRINT I ORDER PRINT I まずは、上記を実行してみて下さい。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿おかっぺ Japanese_WASABI2014/12/23 9:44本題、DEFで定義出来るものを、プチコンでは、ユーザ命令、ユーザ関数と呼びます。 ユーザ命令はGOSUB の様に処理が飛んで行って、終わったら帰ってくるもので、最初はこちらがわかりやすいと思います。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿おかっぺ Japanese_WASABI2014/12/23 9:41ユーザ関数、ユーザ命令を知るには、GOSUBを理解していると、便利さがわかるので、もし、この投稿を見た人で、DEFに興味があるけど、GOSUB もわからない、と言う場合は、GOSUB を勉強してみてね。 それでも、とっても便利で感動するから。0そうだね プレイ済み2017/11/04 00:50:55に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿おかっぺ Japanese_WASABI2014/12/23 9:37マシュマロさんの作品、ニャン吉の冒険はGOSUBで作られているので、以下のような経験がありませんか? FORループの中からGOSUBした先で、FORループしたら同じ変数を使っていたので、動きが変になっちゃった! あるいは、変数が増えすぎて、変数の意味していた内容を忘れちゃった。 とか。0そうだね プレイ済み2017/11/04 00:50:55に取得