Help with classes

Im making a pokemon game and i ned to use the "charmander.basehp=65" in the equation for the health stat in "void pokemonshealth()", how would i do that?

class pokemon
{
public

int basehp;
int health;

void pokemonshealth()
{
health={{hpiv+2*basehp+(hpev/4))*level/100)+10+level;
}

};


pokemon charmander

charmander.basehp=65;
Last edited on
closed account (D80DSL3A)
Where are the variables hpiv, hpev and level declared?
You can't make the assignment charmander.basehp=65; outside of a function.
A class constructor may be helpful here.
i know that but that is not the question i left all trivial variables out i just need to know how to use the "charmander.basehp=65" in this equation. the other informatrion is there i just decided against writing it out in my post because it has nothing to do with my question.
closed account (D80DSL3A)
You can make the assignment inside of a function. Example:
1
2
3
4
5
6
7
pokemon charmander;// declared globally
int main
{
    charmander.basehp=65;
    // other code
    return 0;
}
i could assign it like that, but could i use it to calculate his hp state?

ic not can you lead me in the right direction to calculate all pokemon's stats?
closed account (D80DSL3A)
You can use the value in any calculation once the value has been assigned.
assigned how do you mean if i declare it somewhere in the code either global or local it can be used in the equation?

also i need to have the program randomly generate a number between 1 and 31 and assign it as a pokemons iv can you explain how to generate random numbers better to me?
closed account (D80DSL3A)
To generate a number from 1 to 31 (inclusive) randomly try: 1+rand()%31;.

I don't understand your 1st question. charmander was declared globally in my code above so it can be used in any function. You haven't given an equation for calculating hp state (another mystery variable).
i was just wondering where the charmander.basehp=65; would have to be declared to be included into void pokemonshealth()

so i only need 1+rand()%31 and nothing else because i though i would have to seed the rng?

just for a little insight im new to c++ and im making the function "void pokemonshealth()" and i am going to have that function randomly generate the iv then use that and a pokemons basehp stat to calculate its general stat for health. so i will have multiple pokemon using "void pokemonshealth()" to get calculate their stat for hp.
closed account (D80DSL3A)
You should be able to call the function after making the assignment:
1
2
3
4
5
6
7
8
pokemon charmander;// declared globally
int main
{
    charmander.basehp=65;
    charmander.pokemonshealth();// assuming that all the other "trivial variables...not relevant to my question" have been assigned as well.
    // other code
    return 0;
}


Yes, it's a good idea to seed the "rng".
Be sure to #include<ctime>
Then seed the rng with a single call to srand((unsigned)time(0)); before the first call to rand().
Topic archived. No new replies allowed.