0

私はゲームを書いていて、プレイヤーのトップスコアを SharedPrefrence として保存しています。私はこの方法を使用しているので、ユーザーがアプリケーションを終了しても最高得点が維持されます。その時点までのすべてをコーディングしました。ここで、プレーヤーが再びゲームをプレイしたときに新しいトップ スコアを表示する方法を実装したいと考えています。この背後にあるロジックは、最初のトップ スコアが 0 より大きい場合、最初のトップ スコアを表示することです。その後、ゲームが再びプレイされたときに、2 番目のトップ スコアが最初のトップ スコアより大きい場合は 2 番目のトップ スコアを表示し、そうでない場合は最初のトップ スコアを表示します。私の頭の中では、単純な If/else ステートメントで十分だと思いますが、最初の変数を宣言するときに問題が発生します。以下のコードを書いたのですが、うまくいきません。新しいスコアが表示されるだけです-それが最初のスコアよりも低い値であっても、これは私が望んでいないことです。どんな助けでも大歓迎です。コード:

TextView textSavedWeek2ms2_1 = (TextView)findViewById(R.id.ts02);
SharedPreferences sharedPreferences = getSharedPreferences("MY_SHARED_PREF", MODE_PRIVATE);
String strSavedWeek2ms2_1 = sharedPreferences.getString("top_score", "");
String topscore = strSavedWeek2ms2_1;
int topscore1 = Integer.valueOf( topscore);  

if (topscore1 > 0 )                 
    { 
        textSavedWeek2ms2_1.setText(topscore);
    }
    else 
        textSavedWeek2ms2_1.setText("0");
    }
4

2 に答える 2

0

これはおそらく意図されていません:

if (topscore2 > topscore2){
于 2012-06-28T12:15:55.900 に答える
0

タイプミスをしたと思います。

if (topscore2 > topscore2)                 
{ 
    textSavedWeek2ms2_1.setText(topscore);
}

だからそれは

if (topscore2 > topscore1)                 
    { 
        textSavedWeek2ms2_1.setText(topscore);
    }
于 2012-06-28T12:27:44.020 に答える