投稿
Sきち 4405chan
ハイスコアなどの数を文字列変数に変換する文法を教えてつかぁさい。
2そうだね
プレイ済み
返信[1]
親投稿
かつみ opoQsn
A=100 A$=STR$(A) PRINT A$ これで画面に100と出ます ちなみにその逆は A$=“100” A=VAL(A$) 文字列→数値
1そうだね
プレイ済み
返信[2]
親投稿
Sきち 4405chan
お答えありがとうございます。セーブするときとロードするときに役立ちそうですね。
1そうだね
プレイ済み
返信[3]
親投稿
ゆうとん dsi1300
教えてつかぁさいw
0そうだね
プレイ済み
返信[4]
親投稿
STR$もいいですが、セーブロードとなると問題が2つ出ます。 ・125点と6540点をSTR$で変換すると「125」と「6540」と桁が揃わなくなる ・実はSTR$だと7桁以上の数字に対応出来ない(PRINT STR$(1234567)と打ってみれば分かります) そこでオススメなのがFORMAT$。上2つの問題を一気に解消してくれます。 PRINT FORMAT$("%09D",1234567)と打ちますと、001234567と返ってきます。これで桁数を揃える事も7桁にする事も出来ますよ。
0そうだね
プレイ済み
返信[5]
親投稿
あと、何故「桁数を揃えなくちゃいけないの?」という事ですが、 例えば1位7650点、2位573点、3位16点になってるとします。 全てをSTR$で纏めてくっつけると 765057316 という文字が出来ます。ここまでは特に問題ありません。 で、これをハイスコアへと「復元」する場合、1位が何桁で2位が何桁なのかはコンピュータでは自動で理解できません。適当に 1位76505点、2位7316点、3位・・・文字が残って無いので0点、となってしまう事も可能性としてはあります。 じゃあどうすればいいか。答えは「全ての桁数を揃えてあげれば復元は楽に出来る」っていう事です。 FORMAT$を駆使して1位007650点、2位000573点、3位000016点と桁数を揃えれば、復元も6桁で区切ればいいだけですので簡単に出来ます。 こういう風に「データを復元する事を想定して保存プログラムを作ろう」という事です。
1そうだね
プレイ済み
返信[6]
親投稿
Sきち 4405chan
本当だ!ありがとうございます!
0そうだね
プレイ済み
返信[7]
親投稿
たなか hogehogepiyopiyo
わざわざ文字列操作を駆使しなくてもDATを使った方が楽かと DIM SAVEDATA[2] SAVEDATA[0]=1234.5 SAVEDATA[1]=123.45 SAVE"DAT:SAVEDATA",SAVEDATA 読込は LOAD"DAT:SAVEDATA",SAVEDATA,FALSE
1そうだね
プレイ済み
返信[8]
親投稿
Sきち 4405chan
いろんな文法があるんですね。
0そうだね
プレイ済み
返信[9]
親投稿
せいふぁ SeyfertSluw
STR$ですが STR$(1234567,12) とオプション引数を指定することにより右詰+左にスペースを補ってくれます。 あと A%=1234567890 STR$(A%,12) と整数変数を渡すと指数表示にはならないようです。
0そうだね
プレイ済み