プチコン3号 SmileBASIC コミュニティ投稿Sきち 4405chan2015/02/01 17:29:40質問ハイスコアなどの数を文字列変数に変換する文法を教えてつかぁさい。2そうだね 9返信プレイ済み2017/11/03 23:52:39に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿かつみ opoQsn2015/2/1 17:32A=100 A$=STR$(A) PRINT A$ これで画面に100と出ます ちなみにその逆は A$=“100” A=VAL(A$) 文字列→数値1そうだね プレイ済み2017/11/03 23:52:39に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿Sきち 4405chan2015/2/1 17:35お答えありがとうございます。セーブするときとロードするときに役立ちそうですね。1そうだね プレイ済み2017/11/03 23:52:39に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿みけらんジェロ chikuwaxx2015/2/1 18:36STR$もいいですが、セーブロードとなると問題が2つ出ます。 ・125点と6540点をSTR$で変換すると「125」と「6540」と桁が揃わなくなる ・実はSTR$だと7桁以上の数字に対応出来ない(PRINT STR$(1234567)と打ってみれば分かります) そこでオススメなのがFORMAT$。上2つの問題を一気に解消してくれます。 PRINT FORMAT$("%09D",1234567)と打ちますと、001234567と返ってきます。これで桁数を揃える事も7桁にする事も出来ますよ。0そうだね プレイ済み2017/11/03 23:52:39に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿みけらんジェロ chikuwaxx2015/2/1 18:43あと、何故「桁数を揃えなくちゃいけないの?」という事ですが、 例えば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そうだね プレイ済み2017/11/03 23:52:39に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿Sきち 4405chan2015/2/1 18:55本当だ!ありがとうございます!0そうだね プレイ済み2017/11/03 23:52:39に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿たなか hogehogepiyopiyo2015/2/1 19:24わざわざ文字列操作を駆使しなくてもDATを使った方が楽かと DIM SAVEDATA[2] SAVEDATA[0]=1234.5 SAVEDATA[1]=123.45 SAVE"DAT:SAVEDATA",SAVEDATA 読込は LOAD"DAT:SAVEDATA",SAVEDATA,FALSE1そうだね プレイ済み2017/11/03 23:52:39に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿Sきち 4405chan2015/2/1 19:30いろんな文法があるんですね。0そうだね プレイ済み2017/11/03 23:52:39に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿せいふぁ SeyfertSluw2015/2/1 22:32STR$ですが STR$(1234567,12) とオプション引数を指定することにより右詰+左にスペースを補ってくれます。 あと A%=1234567890 STR$(A%,12) と整数変数を渡すと指数表示にはならないようです。0そうだね プレイ済み2017/11/03 23:52:39に取得