2016-12-16 7 views
-6

Warum unterscheidet sich der Wert "Geschädigt"?Was ist falsch an meinen C# -Codes?

public int Health = 500; 
public int Injured; 

    public int AtkDamage() 
    { 
     Random AtkRnd = new Random(); 
     return Injured = AtkRnd.Next(0, 100); 
    } 


    public int RemainHP() 
    { 
     return Health -= Injured; 
    } 

Warum ist 'Verletzt' in 'RemainHP' unterscheidet sich von der 'Verletzter' in 'AtkDamage', sie in den gleichen class.Thanks sind sehr viel. (Sorry für die schlechte Englisch)

+0

da (wenn sie verschieden sind) 'RemainHP()' 'vor AtkDamage ausgeführt wird()'. –

+0

Sie wollen 'RemainHP == Gesundheit - verletzt ', oder? Auf diese Art und Weise ('Gesundheit - = Verletzung ') attackierst du die arme Kreatur jedes Mal, wenn' RemainHP() 'aufgerufen wird ... – vojta

Antwort

0

Remove die = in RemainHP. Gerade jetzt ist es gleichbedeutend mit

Health = Health - Injured; 
return Health; 

Sie wollen

return Health - Injured 
+0

Wie kann man den' Gesundheit'-Wert nach dem ersten Treffer ändern? –

+0

Hängt davon ab, wie du aussiehst, aber du kannst einfach "Gesundheit - = AtkDamage()" machen, wenn du die Kreatur triffst. – Mats391

Verwandte Themen