ラリー:
私は、javaを学ぶため、自分のためにプログラムをコーディングしています。これは、実験のいくつかの種類です。これは、プレイヤー、アクション、モンスター、アイテム、ゲームプレイのようなクラスがあります。私のクラスのプレーヤーでは、私は、パラメータEXPとlvlUpと呼ばれるコンストラクタを追加しました。私の質問は、彼が100 EXPを持っているとき、彼は200 EXPを持っているとき、彼は、1レベルアップを取得し、300 EXPなど、私は彼が100 EXPに達したときにプレイヤーのLVLをインクリメントしたい場合、200 EXPを記述する必要が何をすべきか、あります、彼は2つのLVLアップなどを取得します。ところで、expがランダムであるので、私は同様に、残りのEXPをプリントアウトしたいと思います。例えば、彼は1匹のモンスターを殺すと2つのLVLアップと45 EXPあるべき245 EXPを稼いでいます。これは、ATM私のコードです:
public int lvlUp(int exp) {
if (exp < 100) {
System.out.println("LvL: " + this.lvl + " You have " + exp + " experience!");
} else if (exp == 100) {
System.out.println("Level up !!!");
exp = 0;
this.lvl++;
} else if (exp > 100) {
System.out.println("Level up !!!");
exp = exp - 100;
this.lvl++;
System.out.println("LvL: " + this.lvl + " You have " + exp + " experience!");
}
return this.lvl++;
トカゲのビル:
まず、あなたはプレイヤーが取得する必要がありますどのように多くのレベルアップを把握する必要があります。それを計算するために、100で割ます。
int levels = exp / 100;
それは、算術整数なので、それはあなたのために切り捨てられます。(だから、あなたの例ではexp = 245
、レベルが2になります。
次に、ユーザーが残されていますどのくらいの経験を把握するために、その値を使用します。
exp = exp - (levels * 100);
最後に、新しいレベルを追加します。
this.lvl += levels;