SORU
5 EYLÜL 2013, PERŞEMBE


Nasıl maksimum değeri aşmadan bir değişken olabilir miyim?

Okul için basit bir video oyunu bir program üzerinde çalışıyorum ve eğer bu yöntemi çağrılırsa oyuncu 15 Yaşam puanı alır bir yöntem oluşturduk. 100 max sağlığı tutmam lazım ve bu noktada sınırlı programlama yeteneğimi böyle bir şey yapıyorum.

public void getHealed(){
    if(health <= 85)
        health  = 15;
    else if(health == 86)
        health  = 14;
    else if(health == 87)
    health  = 13; 
}// this would continue so that I would never go over 100

Anladığım kadarıyla benim sözdizimi hakkında mükemmel değil ama benim sorum, ne olabilir daha iyi bir şekilde yapmak, çünkü ben de var mı benzer bir şey ile zarar puan ve altında 0.

CEVAP
5 EYLÜL 2013, PERŞEMBE


Sadece bunu yapmak istiyorum. Temelde sağlık 15 ekstra puan ile ne olacağını 100 (maksimum sağlık) arasında en az alır. Kullanıcının sağlık 100 aşmadığı sağlar.

public void getHealed() {
    health = Math.min(health   15, 100);
}

Hitpoints sıfırın altına düşürmeyin emin olmak için, benzer bir işlev kullanabilirsiniz: Math.max.

public void takeDamage(int damage) {
    if(damage > 0) {
        health = Math.max(health - damage, 0);
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • atKristaBradford

    atKristaBrad

    4 Aralık 2010
  • DavidParody

    DavidParody

    17 EKİM 2009
  • Kap Slap

    Kap Slap

    8 Mart 2010