掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
メモ帳への保存について (ID:145631)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> メモ帳への保存について > テキストファイルに保存する処理を行っています。 「テキストファイルに保存」の方が、表現としては適切ですね。 > ベストスコアとワーストスコアの初期値は0です。 本当にそれで良いのでしょうか。 ゲーム内容が分かりませんが、点数加算方式だとしたら、0 点を下回る点数は無いですよね。 たとえ正しいプログラムを書いたとしても、その仕様のまま作っていくとしたら、 ワーストスコアが更新される事は無く、常に 0 点のままになってしまうと思いますよ。 > スコアが100や200でも 「100」(半角数字)ではなく、 「100」(全角数字)で、ラベルに表示しているという事でしょうか。 『(ラベル表示のための)数字』(String)ではなく、点数加算のために使うべき 『(ゲーム点数計算用の)数値』(Integer など)は、どこにありますか? > ScoreLabelにゲームのスコアが入り、それをベストスコアとワーストスコアで比較し、 (中略) > どうしてでしょうか?? 提示されたコードには、スコアを比較するためのコードが記述されていないからです。 また、ファイルに保存するコードはあっても、ファイルから読み取るコードも見当たりません。 > If H_Score < ScoreLabel.Text Then まず、ここに誤解があるのではないでしょうか。 これは点数(数値)の比較では無く、文字列同士の大小比較です。 H_Score は、文字列『HiScore.txt』を表していますし、 そして ScoreLabel.Text もまた、文字列である事に注意してください。 文字列の比較では、左端の文字から順に比べられていきます。初期設定では、 0 < 9 < A < Z < a < z < 0 < 9 < a < z < A < Z という並びになります。 そのため、たとえば ScoreLabel.Text の中身が半角「100」であった場合、 If H_Score < ScoreLabel.Text Then If W_Score > ScoreLabel.Text Then の結果は、 If "HiScore.txt" < "100" Then '…条件に一致しない(False) If "WorstScore.txt" > "100" Then '…条件に一致する(True) というコードに読み替えられる事となります。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.