Eenvoudige methode, voert het 1x uit .. daarna niet meer?

Status
Niet open voor verdere reacties.

hassing

Gebruiker
Lid geworden
25 sep 2007
Berichten
43
Ik ben een midlet spel aan het maken en mijn gameplayer (een auto) doet net niet wat ik wil.

Ik heb twee klassen (waar het om gaat dan)
Ik heb punten en ik heb schade.
Ik wil bij 10 punten dat de schade afneemt met 5.

Dit heb ik geschreven:
Code:
public void setPunten(int p)
	{
		db.setItemValue("Sterren", p+"!");
		if(player.punten == 10)
		{
			setSchade(player.schade -=5);
		}
	}

Krijg schade, rij tegen een ster aan waardoor ik 10 punten krijg en zie dat de schade afneemt. Goed dus. Schade neemt af met 5.

Ik wil eigenlijk bij elke verhoging van punten (verandering) dat de schade afneemt met x.
Hoe moet ik dat aan pakken.
Bijvoorbeeld bij elke 20 punten schade afnemen met 5.
20, 40 ...

Graag tips !!

bart
 
Nou,

Je zou het misschien kunnen benaderen als: (player.punten delen door 10) en je krijgt er geen komma getal uit, dan doe je setSchade(player.schade -=5);
 
Je hebt binnen java de mogelijkheden van MOD en DIV

Met mod krijg je het aantal mogelijke delingen
Met div krijg je het resterende wat van de deling overblijft na max aantal delingen.

11 div 4 = 2
11 mod 4 = 3

12 div 4 = 3
12 mod 4 = 0

etc.
 
weet je zeker dat het setPunten moet zijn en niet addPunten?
iig je kunt van dit
Code:
		if(player.punten == 10)
		{
			setSchade(player.schade -=5);
		}
dit maken
Code:
		if( player.punten % 10 == 0 )
		{
			setSchade(player.schade -=5);
		}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan