プレイ日記
siren seigi3110
ついに数値や記号からマップの読み込みに成功したぜ!正直短時間で書いたので変数が適当ですが、何かもっと短縮できる方法があったら教えてください。
6そうだね
プレイ済み
返信[1]
親投稿
11行目だけMID$()使うの謎?
0そうだね
プレイ済み
返信[2]
親投稿
だにえる haru2016nen
1文字取得に限れば MID$より[]の方が速いんだよなぁ。
1そうだね
プレイ済み
返信[3]
親投稿
だにえる haru2016nen
IF BT==#A THEN~ IF BT==#B THEN~ みたいに同じ変数を比較する場合は ELSEIF使った方がいいかも。
1そうだね
プレイ済み
返信[4]
親投稿
siren seigi3110
やっぱり自分もまだ初心者だな… あまさと しおんさん 他に使いどころはありますか? だにえるさん []は配列のことですか? だにえるさん2コメ目 写真の様な感じでよろしいでしょうか?
0そうだね
プレイ済み
返信[5]
親投稿
だにえる haru2016nen
プチコン特有の仕様なんだけど、、、 普通の(配列ではない)文字列って 内部で(1次元の)文字列変数配列 みたいな扱いになってるんだよね。 具体的には 「 T$[0]="A" T$[1]="B" 」と 「 T$="AB" 」のT$は (少なくとも内部では)同じ扱いに なってるってこと。 LEN関数で配列の要素数,文字列の文字数 どちらでも問題なく取得できるのは それが関係してるっぽく思えるよね。
1そうだね
プレイ済み
返信[6]
親投稿
だにえる haru2016nen
いや、ちょっと待て…。 プログラム見る限り、 君たぶん文字列配列の事勘違いしてるよ…。 文字列配列はDIM A$[100]の場合、 「100文字入る変数」じゃなくて 「100個の文字列が入る変数」だから。 つまり、 DIM T$[2] T$[0]="ハロー" T$[1]="ワールド" のように文字数に関係なく文字列が 入るってこと。
1そうだね
プレイ済み
返信[7]
親投稿
マギー M191246
この場合の MID$(A$[D],I,1)は A$[D][I] と書けるという意味だと思います。 あと、B$は配列じゃなくてもできそうです。
1そうだね
プレイ済み
返信[8]
親投稿
siren seigi3110
だにえるさん3コメ目 そもそもLEN関数がわからん… だにえるさん4コメ目 本当ですか?A$[]B$[]のどちらを勘違いしていましたか? マギーさん 具体的にどういうふうに使ったらよいですか?ちなみにB$を配列にしているのは、後から座標やら当たり判定やらを作るからです。
0そうだね
プレイ済み
返信[9]
親投稿
マギー M191246
具体的には、 MID$(A$[D],I,1)と書いているところを 消して、その消したところに A$[D][I]と書いたら、OKです。
0そうだね
プレイ済み
返信[10]
親投稿
siren seigi3110
言われたとおりに書き直してみたらできました。マギーさんありがとうございます! …他にもまだあるかな?
1そうだね
プレイ済み
返信[11]
親投稿
だにえる haru2016nen
10行、22行で 同じ変数iを使ってるけど 意図的に?
0そうだね
プレイ済み
返信[12]
親投稿
siren seigi3110
はい、そうです。
0そうだね
プレイ済み
返信[13]
親投稿
siren seigi3110
もう特になさそうですかね。 皆さん有難うございました。
1そうだね
プレイ済み