プレイ日記
サファイア nmskt4649v
関数について、詳しく教えてください。 今のところ、 DEF 命令の名前 行う処理 END しか、分かりません。 もしかしたら、DEF,DEC,DEGかは、よく覚えていません。すいません。
0そうだね
プレイ済み
返信[1]
親投稿
似てるけど機能が違うコマンド3種類セットがそろう… 命令を作る命令はDEFであってます。 DEFのメリット BEEP 69 ←69は「引数」 A=ABS(-999) ←変数Aに入るのが「返り値」 プチコンに最初から入ってる命令・関数と同じように引数・戻り値が使えます
0そうだね
プレイ済み
返信[2]
親投稿
サファイア nmskt4649v
この場合、戻り値には何が入るのですか?
0そうだね
プレイ済み
返信[3]
親投稿
サファイア nmskt4649v
ABSって何でしたっけ? ABSの()の数字は何を表しているのですか? 分からなすぎて、すみません。 教えて下さい。
0そうだね
プレイ済み
返信[4]
親投稿
-999 例文の適当な数字 実際は数や変数を入れる ABS(-999)で戻ってくるのは、マイナスがなくなった999 あくまでも戻り値のあるコマンドの1つの例なのでABSに深い意味はない
0そうだね
プレイ済み
返信[5]
親投稿
サファイア nmskt4649v
やってみます。
0そうだね
プレイ済み
返信[6]
親投稿
ほしけん Hosiken
戻り値は RETURN で返せます。 PRINT KANSUU(4,5) ' 9と表示 DEF KANSUU(A,B)  RETURN A+B END
0そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
サファイアさんが要望トピに出してた >1.乱数を英数字でも作成できるようにして頂きたいです。 >例 >数字のみ:A=RND(最大数値-1) >英数字 :A$=RND(最大文字数-1) def を使えばこういうのを自分で作ることができます。 >INPUTの文字制限を自由に設定でき、入力時にオーバーしたら入力出来ないように。 これも同様に作れます。
0そうだね
プレイ済み
返信[8]
親投稿
おちゃめ ochame_nako
DEFはレミファ、DECはレミド、DEGはレミソ ・・・という冗談はおいといて DEFは端的に言えばこんな命令や関数が欲しいなと思ったものを(プチコン3号でできる範囲内であれば)作ることができる命令です。 define(定義する)の略ですね。 私はプチコン3号が発売された日にNew3DSと旧3DSを判別する関数を作りましたし変数の型を判別する関数、スリープしたかどうかを判別する関数、1000分の1秒単位のタイマー関数など多数の命令、関数を作りました。 DEFは覚えておくと様々な用途に使える非常に便利な命令です。
1そうだね
プレイ済み
返信[9]
親投稿
おちゃめ ochame_nako
ABS()は絶対値を返す関数で端的に言えば数値から符号を除いた値(-99ならば99)を返すわけですが、もしもプチコン3号にABS()関数が無くてもDEFを使えば作ることができます。 DEF ABS(A) IF A<0 THEN A=-A RETURN A END これはGOSUB~RETURNを使って似たようなことはできます。 @ABS IF A<0 THEN A=-A RETURN しかし、使用する前に変数Aに代入処理をしないといけないし変数Aを他所で使うことができないという問題があります。 自作関数内ではローカル変数が使えるためこの問題は起きません。
1そうだね
プレイ済み
返信[10]
親投稿
サファイア nmskt4649v
MIKI★さんへの質問 1.定義出来ない要望を書けという意味ですか? 2.INPUTでの文字数制限は、ENTERを押してLENで判別するのは知っています。入力中に、文字数オーバーを認識して、入力を止めさせることは出来るのですか?また、それはINPUT,LINPUTですか?入力待ちをしないIN……ですか?(忘れました)
0そうだね
プレイ済み
返信[11]
親投稿
MIKI ifconfig
1.定義出来ない要望を書けという意味ですか? 社長は何でも書いていいと言っているのだから、何でも書いていいでしょう。 実用になる速度で定義できるなら自分で書いたほうがてっとりばやいけど、その判断はまだサファイアさんはできませんよね。だから思いついたことはなんでも要望に上げちゃったほうがいいです。採用するしないを判断するのは社長です。 私がここで書いた意味は、そういう命令を自分で作るということが、実力アップに繋がるからです。自分で欲しい命令関数なのだから、モチベーションも持続できるでしょう? RNDの例は比較的簡単に実装できます。複雑な命令も、そういう簡単な命令の組み合わせで作ることができるんです。つづく
2そうだね
プレイ済み
返信[12]
親投稿
MIKI ifconfig
プログラマの仕事は、最終目的のすごい命令(マリオメーカーを作る命令、マインクラフトを作る命令)を、より簡単な命令を組み合わせて作ることです。 マリオメーカーだったら、ステージを作る命令と、それをプレイする命令があれば、あとは簡単に作れますよね? ステージを作る命令は、ブロックを置いたり消したりする命令や、スクロールする命令があれば簡単に作れる。 ブロックを置くには? 大きな二次元配列を用意して、その配列と画面に一対一対応をつければよい・・・ こんな感じでどんどん簡単な命令に分解していく。最終的にプチコンの命令で実装できればそれで完成。
2そうだね
プレイ済み
返信[13]
親投稿
MIKI ifconfig
2はinkey$をつかいます。これはけっこう難しい。
0そうだね
プレイ済み
返信[14]
親投稿
サファイア nmskt4649v
DEF理解できました! 報告の投稿がございますので、是非、プレイ日記からたどってご覧ください。 これでは、引数しか求めていませんが、返りを待つのもわかりました。(多分) 皆さんは、関数を沢山持っているようなので、自分のプログラムで、関数詰め合わせセットをUSEで使ってたりするんですかね。 まあ、皆さんの関数も見れたし、いろんなことも知れたしありがとうございました!
0そうだね
プレイ済み