0

私はWindowsPhone7ps3トロフィー計算アプリを実行することにしました。ポイントの内訳は次のとおりです。

  • ブロンズトロフィーの価値:15ポイント
  • シルバートロフィーの価値:30ポイント
  • ゴールドトロフィーの価値:90ポイント
  • プラチナトロフィーの価値:180ポイント

各レベルの内訳は

  • レベル2は200ポイントです
  • レベル3は600ポイントです
  • レベル4は1200ポイントです
  • レベル5は2400ポイントです
  • レベル6は4000ポイントです

その後、16000ポイントでレベル12まで各レベルで2000ずつ上昇します。レベル13では24000になり、後続の各レベルで8000ずつ上昇します。

レベル12までレベルを決定できます...ポイント>=16000の場合にレベルを決定するのに問題があります...ポイント>16000のレベルを決定するロジックを説明できますか?レベル12の後のレベルキャップは一定の8000です...。

4

2 に答える 2

0

これは非常にネストされたループであるため、ポイントがレベル2に十分な場合は、レベル3をチェックし、falseと見なされると、すべてをエスケープします。

int const level = 1;
int const level2 = 200;
int const level6 = 4000;
int const level12 = 16000;

if (points >= level2)
    level = 2;
    if (points >= 3*level2)
        level = 3;
        if (points >= 6*level2)
           level = 4;
           if (points >= 12*level2)
                level = 5;
                if ((points >= level6) && (points < level12))
                    // because you're dividing integer by integer,
                    // 39999/2000 should = 1, correct?
                    level = ((points - level6) / 2000) + 6;
                else if (points >= level12)
                    level = ((points - level12 / 8000) + 12;
于 2012-08-10T14:38:41.543 に答える
0

私が正しく理解していれば、それは次のようなものになります

int levelCap = (8000 * (level % 12)) + 16000;

このロジックは、レベル12以上の場合にのみ機能することに注意してください

于 2012-08-09T17:41:26.840 に答える