プレイ日記
RPGで見る文字が左から書かれてくあれ、こんな面倒くさいんですか?
11そうだね
プレイ済み
返信[1]
親投稿
だにえる haru2016nen
プログラムは基本的に、 「同じような処理をまとめる」ことができる。 A$="もじれ2" FOR L=0 TO LEN(A$)-1 ?A$[L]; WAIT 5 NEXT
4そうだね
プレイ済み
返信[2]
親投稿
制御構文が大事なのよねー
2そうだね
プレイ済み
返信[3]
親投稿
「同じ作業を繰り返すような面倒くさいことを楽にするための仕組み」を作る事もプログラムの得意分野です 自分なりにどこがどう繰り返していて どこが変化しているのか把握しましょう それが出来ればプログラムでまとめる方法も見えてくるかもしれませんよ
2そうだね
プレイ済み
返信[4]
親投稿
Godot orz_127
はい。 そんな感じでめんどくさい処理を3DSは頑張ってしていますw でもプログラムでそれを書くのは、大変なので、あまさとさんがコメントしているように制御文を覚えるとプログラムが楽になります。 画像の例は、ひとつ目は、だにえるさんがコメントしている FORという繰り返しの制御文を使用した例。 もうひとつは、WHILEと言う制御文を使用した例です。 これを見てもわかるように答えはひとつではありません。 他にも色々なやり方があります。 コマンドを覚えていくと色々楽に出来るようになってきます。 繰り返し処理は、「FOR~NEXT」「REPERT~UNTIL」「WHILE~END」等があります。 条件分岐処理として「IF~THEN」「IF~THEN~ELSE~ENDIF」等が有ります。 少しづつわかるところから覚えていくと良いですよ。
2そうだね
プレイ済み
返信[5]
親投稿
はる HARUHI-0913
FOR A=0TO 19WAIT 5?CHR$(66+A); NEXT というように省略することも出来ます。
1そうだね
プレイ済み
返信[6]
親投稿
コメントありがとうございます!FOR~NEXTが使えるとは、、。
1そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
たばすこさんはいろいろ自分で試行錯誤して、習うより先に概念を習得・発見してしまうタイプですね。アドバイスする方はその概念の名前を教えるだけで済んでしまう・・・ すごく伸びると思うし将来が楽しみです。 これからもがんばってください!! なんか上から目線でごめんなさい!!
1そうだね
プレイ済み
返信[8]
親投稿
なんか誉められて照れますが、コメント、ありがとうございます!
1そうだね
プレイ済み
返信[9]
親投稿
頑張りますウ!
2そうだね
プレイ済み
返信[10]
親投稿
すう SU-KUN
皆さんおっしゃっているように、方法は色々ですので、どれが正解と言うわけでもないですね。たばすこさんの場合は、もう、DEFを使う所まで覚えちゃった方が早いかもしれません。 RPGPRINT 5,10,"ABCDEFGHIJKLMN" END DEF RPGPRINT X,Y,A$ VAR I:LOCATE X,Y 'このIはDEF内でのみ有効な変数 FOR I=0 TO LEN(A$)-1 'LENは文字数が返る PRINT MID$(A$,I,1);:WAIT 5 '文字列の途中を取り出し NEXT END 'DEFはここまで
4そうだね
プレイ済み
返信[11]
親投稿
DEFって命令を格納するんですか?
0そうだね
プレイ済み
返信[12]
親投稿
はる HARUHI-0913
DEFは命令・関数を作る文です。
2そうだね
プレイ済み
返信[13]
親投稿
メイキング出来ちゃうんだ!
1そうだね
プレイ済み
返信[14]
親投稿
だにえる haru2016nen
DEF 処理 END を書いておくと、呼び出したときに その内容の処理をやってくれる便利なやつ。
2そうだね
プレイ済み
返信[15]
親投稿
便利ですね。
2そうだね
プレイ済み
返信[16]
親投稿
DEFは複雑な処理をまとめるのに適しています たとえば、名前を入力する関数 名前を入力してもらって、入力チェックを行い、未入力だった場合にはビープを鳴らして 名前を入力してくださいと表示する 入力があれば呼び出しもとに入力された名前を返す といった感じで作れば入力枠表示から入力チェックまでの処理をひとまとめにして呼び出せるように出来ます パーティーの人数分同じ処理を書くよりもバグを作りにくいし バグがあっても一カ所直せば済むのでメンテナンス性も向上します
2そうだね
プレイ済み
返信[17]
親投稿
すう SU-KUN
そうです、新しい命令を作っちゃえる(ユーザー定義命令と言うそうです)のがDEFになります。 定義側は、DEFの後に好きな名前(ここではRPGPRINTとしました)を書いて、その後に必要なパラメータを書きます(ここではX,Y,A$と言う3つのパラメータを、それぞれの変数で受け取り)。定義はプログラムのどこにあっても良いようです。 呼び出し側は、定義側と同じ書式で、実際のパラメータを渡す感じに。DEF内ではそのパラメータを受け取って処理ができ、まさに最初からある命令と同じように使えてしまいます。 言葉で説明すると難しそうになっちゃいますが、プチコンだと書式も使い方も簡単なので、早めに覚えておくと開発も楽になると思います^^ DEF行にある受け取り用の変数と、DEF内のVAR~で宣言した変数は、メイン部分とは、同じ名前でも全く別の変数になる事だけ注意です><
2そうだね
プレイ済み
返信[18]
親投稿
GOSUBで良くないですか?
2そうだね
プレイ済み
返信[19]
親投稿
GOSUBも似てはいるけど、GOSUBだとローカル変数が使えないので、そういう意味では劣る。(変数名の工夫が必要になるので、他人に配って使ってもらいたい場合は致命的)
1そうだね
プレイ済み
返信[20]
親投稿
すう SU-KUN
使い方や用途によってはGOSUBでももちろんOKです。 GOSUBの場合、自分で用意しないとパラメータを渡せない事、DEFのように中だけ別の変数(ローカル変数と言います)にはならないと言う違いがあります。 逆にDEFだと、中でVAR宣言しておけば、好きなだけ変数を使える(メインの変数には影響がない)ので、かなり大規模な部分をDEF化して、別のプログラムに応用したり、別の方が作った物も再利用しやすいです。 すうだけかもしれませんが、GOSUB内で、メインで利用中の変数を使ってしまって、変なバグを出してしまう事がよくありますので^^;(笑)
1そうだね
プレイ済み
返信[21]
親投稿
ナルホドナルホド。
1そうだね
プレイ済み