Lastige Formule opstellen. [Solved :)]

Wiskunde is niet alleen een vak op school. Kom je ergens in de praktijk (bijvoorbeeld tijdens je werk) een wiskundig probleem tegen dan kun je hier om hulp vragen.
Plaats reactie
OceansCurse
Nieuw lid
Nieuw lid
Berichten: 3
Lid geworden op: 19 feb 2012, 20:30

Lastige Formule opstellen. [Solved :)]

Bericht door OceansCurse » 19 feb 2012, 20:39

Ik probeer voor een game het een en ander te programmeren. Maar nu heb ik een formule nodig waar ik maar niet uit kom.

De situatie is als volgt:
Je hebt een aantal attributen met een waarde. En een bepaald aantal punten dat je nodig hebt om deze omhoog te doen. En het aantal punten die je hebt om uit te geven (Maar die doen er hierbij niet toe)

str 1 nodig: 1
agi 1 nodig: 1
enz.

Nu wil ik dus dat wanneer je str op 10 komt, je 2 punten nodig hebt. Dan als hij op 20 komt, 3 nodig hebt.
dus de uitkomsten zouden moeten zijn:

str nodige punten
1 -> 1
2 -> 1
3 -> 1
4 -> 1
5 -> 1
6 -> 1
7 -> 1
8 -> 1
9 -> 1
10 -> 2
11 -> 2
12 -> 2
13 -> 2
14 -> 2
15 -> 2
16 -> 2
17 -> 2
18 -> 2
19 -> 2
20 -> 3
21 -> 3
22 -> 3
23 -> 3
24 -> 3
25 -> 3
26 -> 3
27 -> 3
28 -> 3
29 -> 3
30 -> 4
31 -> 4
32 -> 4
33 -> 4
34 -> 4
35 -> 4
36 -> 4
37 -> 4
38 -> 4
39 -> 4
40 -> 4

Hoop dat iemand hier iets op weet :p
Laatst gewijzigd door OceansCurse op 20 feb 2012, 09:11, 1 keer totaal gewijzigd.

arie
Moderator
Moderator
Berichten: 3917
Lid geworden op: 09 mei 2008, 09:19

Re: Lastige Formule opstellen.

Bericht door arie » 19 feb 2012, 20:59

Het hangt er van af welke taal je gebruikt.

Het principe is "afkappen" = "truncation" = "afronden naar beneden":
3.2 wordt 3
3.6 wordt 3
3.99 wordt 3
4.0 wordt 4
Veel programmeertalen hebben hiervoor een floor-functie:
in jouw geval:

Code: Selecteer alles

nodig = floor(str/10.0) + 1
vb:
als str=9 is nodig = floor(str/10.0) + 1 = floor(0.9) + 1 = 1
als str=10 is nodig = floor(str/10.0) + 1 = floor(1.0) + 1 = 2
als str=11 is nodig = floor(str/10.0) + 1 = floor(1.1) + 1 = 2

Talen zoals Java en C doen dit automatisch als je integers gebruikt, bv:

Code: Selecteer alles

int nodig, str;
nodig = 1 + str/10;
Welke taal gebruik je?

OceansCurse
Nieuw lid
Nieuw lid
Berichten: 3
Lid geworden op: 19 feb 2012, 20:30

Re: Lastige Formule opstellen.

Bericht door OceansCurse » 19 feb 2012, 21:44

Had niet al zo snel antwoord verwacht haha :) Ik ga het snel proberen.

Ik gebruik Actionscript 3

arie
Moderator
Moderator
Berichten: 3917
Lid geworden op: 09 mei 2008, 09:19

Re: Lastige Formule opstellen.

Bericht door arie » 19 feb 2012, 22:00

OK, dan zou het moeten lukken met floor(), zie zo nodig:
http://help.adobe.com/en_US/FlashPlatfo ... ml#floor()

OceansCurse
Nieuw lid
Nieuw lid
Berichten: 3
Lid geworden op: 19 feb 2012, 20:30

Re: Lastige Formule opstellen.

Bericht door OceansCurse » 20 feb 2012, 07:34

Jep gelukt :). Had helemaal niet gedacht aan de Math class haha :P. Stuk makkelijker dan ik had verwacht.
Voor de volgende wiskunde opgave zal ik daar ook eerst ff goed naar kijke haha :P

In ieder geval, bedankt! :D

Plaats reactie