ページ 11

ハイスコアについて

Posted: 2011年2月14日(月) 21:08
by デリ
非常に初歩的な質問で申し訳ないんですが、
たとえば 
Scっていうint型の変数にスコアが入っていて、それをハイスコアとして記録し、次のプレイ時にハイスコアと今回のスコア比べて高いほうを保存するのってどのように書けばいいんでしょうか?

Re: ハイスコアについて

Posted: 2011年2月14日(月) 22:56
by Justy
 ハイスコアを保持する HighScという int型の変数を用意して、0で初期化しておきます。

 で、プレイが終った時のスコア(Sc)がハイスコア(HighSc)より大きければハイスコア更新と
なりますので、Scを HighScに代入すればハイスコアを更新・保存できます。

 スコア(Sc)がハイスコア(HighSc)以下だった場合は、既に保存されている
ハイスコア(HighSc)の値のままでいいので、何もする必要はありません。
 
 つまり

コード:

    if(Sc > HighSc)
        HighSc = Sc;
だけで、OKです。

Re: ハイスコアについて

Posted: 2011年2月14日(月) 23:09
by box
ハイスコアの値をメモリーに保存しておくだけだと
当該のゲームが終わったときにその値が雲散霧消してしまいそうです。
そうならないように、ハイスコアの値をテキストファイルか何かに保存したり読み出したりする
機能が必要なんじゃないかなぁ、なんて勝手に思ったりしてます。
いや、必要なければそれでもいいんですよ。
ゲームプログラミングには全く興味がないやじうまが言ってることですから、
気になさらなくてもかまいません。

Re: ハイスコアについて

Posted: 2011年2月15日(火) 13:12
by デリ
Justyさん、boxさんどうもありがとうございました。
説明不足だったんですがboxさんがおっしゃってたように一時的でなくいったんプログラムを終了させてもハイスコアが保持されているようにしたいのですが、その時必要なファイルへの書き込み方と読み込み方が分からないんです。
そこのところを教えていただきたいです。
よろしくお願いします。

Re: ハイスコアについて

Posted: 2011年2月15日(火) 14:43
by non
とりあえず、テキストファイルで良いと思いますので、
「テキストファイルの読み書き」などで検索してみてください。山ほど、サンプルが出てくると思います。
たとえば
http://homepage3.nifty.com/mmgames/c_guide/17-01.html
とか。

Re: ハイスコアについて

Posted: 2011年2月15日(火) 16:49
by デリ
nonさんどうもです。
テキストファイルを利用してやってみたいと思います。