PDA

Volledige versie bekijken : Reken sommetje


zynex_18
%Europe/Berlin %793 %2005, 20:02
IK kom hier egt niet uit! :S
Okeej.....IK heb een gun gemaakt. Elke keer als je schiet gaat er 1 van je "ammo" af. Zolang je meer dan 1 "ammo" hebt kun je blijven schieten.

Nu komt het lastige. Je hebt per clip 10 ammo. naast je ammo heb je ook nog je totale aantal kogels. dit hebik "total" genoemd.... Dus stel je hebt 10 "ammo", en nog in totaal 30 "total" (10/30). Zolang je meer dan 10 kogels in je "total" hebt, word er dus iedere keer 10 bij je "ammo" gedaan, en gaat er dus 10 van je "total" af.

Maar hoe moet dit nou als je bijvoorbeeld nog 5 "ammo" hebt en nog 4 "total" (5/4) . Of als je nog 5 "ammo" en nog 9 "total".(5/9).

De bedoeling is dus dat je "ammo" altijd op 10 of minder uitkomt als je reload (afhankelijk van hoeveel "total" je nog hebt). Maar nooit MEER dan 10. en je total mag natuurlijk niet de min ingaan, of meer/minder ammo erbij doen dan er nog aan totale kogels is.

Lastig reken sommetje dit....ik kom dr egt niet uit.

Dauntless
%Europe/Berlin %798 %2005, 20:09
Wanneer je op 'herlaad' drukt moet je eerst kijken naar het totaal.
Stel:
5 kogels in het totaal, 4 in je gun. Als je dan op reload drukt wil je er dus 9 in hebben. Dit doe je dan:

//ok, eerst gaan we uitzoeken hoeveel kogels er nodig zijn
var aantalTotVolleGun = 10 - aantalKogels; //(4 dus)

//dan gaan we kijken of er nog genoeg kogels over zijn om de clip te laden tot 10 kogels.
if(Math.floor(totaal / aantalTotVollegun >= 1)
{ //dus als het totaal gedeelt door het aantal nodig groter is dan 1 (naar beneden afgerond)
aantalKogels = 10;
//dan kunnen we de clip vullen tot het maximum :). aantalKogels is hier dus het aantal kogels in je gun
totaal -= aantalKogels
//en natuurlijk het aantal kogels dat is overgetaan aftrekken van het totaal.
}
else
{//anders, als er niet genoeg kogels zijn om aan een volle clip te graken, kunnen we gewoon het totaal optellen bij het huidige aantal kogels
aantalKogels += totaal;
//en je houdt er nul over :)
totaal = 0;
}

Bedoel je zo iets? Waarschijnlijk niet, maar 'k graak nogal snel verloren in je uitleg :I

zynex_18
%Europe/Berlin %806 %2005, 20:21
Hmmm, ik zie niet helemaal of dit is wat ik bedoel....maar het is ook zo ingewikkeld:(

Dauntless
%Europe/Berlin %807 %2005, 20:23
Je char loopt rond, lege gun.
Hij loopt over een munitie kist! 15 kogels bij in z'n total ammo. De speler drukt op reload. Nu gaan er 10 kogels in z'n gun zitten en er gaan er nog 5 over zijn in 'total'. Dan schiet de speler wat tot hij 6 kogels heeft. Hij drukt op reload en moet nu 10 kogels in z'n gun hebben en 1 over in de total ?

zynex_18
%Europe/Berlin %819 %2005, 20:39
precies, dat is wat ik bedoel. en bijv als je nog 3 kogels in je clip hebt, en nog 4 in totaal. en je reload vervolgens, dat je totaal dan 0 word, en je kogels in je clip 7

zynex_18
%Europe/Berlin %820 %2005, 20:41
het script van jou is nogal moeilijk te begrijpen.....

bracke
%Europe/Berlin %821 %2005, 20:43
Ik denk als de uitleg iets gestructureerder is, dat de oplossing zeer evident is. Vergeet niet dat programeren een taal is dat vertaald wordt uit een logisch probleem. Als dat probleem al onduidelijk is, wordt de oplossing heel moeilijk!!

Dauntless
%Europe/Berlin %831 %2005, 20:57
Zie m'n aanpassingen. Duidelijker? :)