Ich möchte diese Methode namens "roll", um meine int "SpacePoints" jedes Mal herunterzählen, wenn es aufgerufen wird. Es funktioniert jedoch, es beginnt jedes Mal von 100. Ich brauche es, wenn die Punkte bei jedem Aufruf der Methode stehen bleiben.Schleifen und Halten der Zählung
int spacePoints = 100;
public void roll(){
pointsRolled = ((int) (Math.random() * 10)+ 1);
if (pointsRolled % 3 ==0){
System.out.println("You must fight!!!");
} else {
spacePoints = spacePoints- pointsRolled;
System.out.println("You have " + spacePoints + " to go.");
}
}
Sie haben nicht genügend Code angezeigt. Wenn nichts angezeigt wird, wird jedes Mal, wenn 'roll()' aufgerufen wird, mit 100 begonnen. – John3136
Wie rufen Sie die Methode an? Aus Ihrem Ausschnitt haben Sie "spacePoints" als ein Feld der Klasse und dekrementieren es um "pointsRolled", wenn es nicht durch drei teilbar ist. Sofern Sie nicht jedes Mal, wenn Sie die "roll" -Methode aufrufen, eine neue Instanz Ihrer Klasse erstellen, werden die "spacePoints" von diesem Feld der Klasse "verfolgt". – GameSalutes