投稿
reji Satoshi.1103
質問です。DATA文を使ったマップの生成のやり方についてです。わかる方、回答お願い致します。
8そうだね
プレイ済み
返信[1]
親投稿
reji Satoshi.1103
一応作ったは良いのですが…
1そうだね
プレイ済み
返信[2]
親投稿
reji Satoshi.1103
こんな感じと思ったのですが…
0そうだね
プレイ済み
返信[3]
親投稿
ツララ LongIceSword
座標データに変換したい訳ですから2重のFORループで CLS (←BGならBGCLR) RESTORE @MAP1 FOR Y TO [縦の幅]:FOR X TO [横の幅] READ A$ (←管理番号で書いてるなら$は不要です) LOCATE X,Y:PRINT A$ (←BGならBGPUT命令に置き換えて) NEXT:NEXT みたいな感じに書けば出来ると思います。
0そうだね
プレイ済み
返信[4]
親投稿
マギー M191246
この場合、1行分まとめて取り込むので、 MID$などで1文字ずつに分ける必要があります。
1そうだね
プレイ済み
返信[5]
親投稿
reji Satoshi.1103
丁寧な説明で回答ありがとうございます。すいません、もう一度質問なのですが、なかなかうまく出来ません…画像の通り、どこを改善すれば良いかを教えて頂きたいです…本当にすいません…
0そうだね
プレイ済み
返信[6]
親投稿
Mez mituaki584
マップと言うからBGPUTしてみた ぞ。
1そうだね
プレイ済み
返信[7]
親投稿
Mez mituaki584
サトシさんの "READ M$" は置く場所を間違えていると思う "FOR Y=0 TO 14:READ M$:FOR X=0 TO..." にすれば いいんじゃないかな。
0そうだね
プレイ済み
返信[8]
親投稿
マギー M191246
例えば FOR I=0 TO 14 READ N$ FOR J=0 TO 24 M$=MID$(N$,J,1) ... のようにするとうまくいくのでないかと思います。
1そうだね
プレイ済み
返信[9]
親投稿
Mez mituaki584
あとひとつ付け加えるなら M$=MID$(""... ↑これは「READの時に既に使用した」文字列変数だからM$にせっかく読み込んであった内容が なくなっちゃうよ!
0そうだね
プレイ済み
返信[10]
親投稿
ツララ LongIceSword
データ文が要素を「,」で区切らず1行まとめて書いてあるので 直す箇所としては、縦軸を管理する最初のFORと横軸を管理するFORループの間にREAD命令を移動してやるのと、 IF文で使う判定用の変数を別に、例えばM1$と設定してM1$=MID$(M$,J,1)としてやる必要があります。
1そうだね
プレイ済み
返信[11]
親投稿
GRS grs8001
1そうだね
プレイ済み
返信[12]
親投稿
say sayer.exe
ちょうど追いかけルーチン用のテストマップを作ってるところ テストマップ表示ルーチンあげるから、読んでみて EKC4A3D4 読めたら、後の工夫はそっちでどうぞ
0そうだね
プレイ済み
返信[13]
親投稿
say sayer.exe
ミスったw 7~11,24行は削除忘れ マップ表示の本体は12~23行ね
0そうだね
プレイ済み
返信[14]
親投稿
reji Satoshi.1103
皆さんたくさんのコメントありがとうございます!すいません、部活で返信が遅れました…長文で解説、とても分かりやすかったです!まだ理解出来ていないところもありますが、これから頑張ろうと思います!本当にありがとうございました!とても感謝しています!感謝の気持ちを持ってゲームを作ります!皆さん、本当にありがとうございました!
1そうだね
プレイ済み