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

  • Day9TV

    Day9TV

    22 NİSAN 2010
  • Microsoft Help & Training Videos

    Microsoft He

    31 Mart 2009
  • RomanAtwood

    RomanAtwood

    18 Kasım 2009