witam, w jaki sposób w c++ mogę to
if(lv = 1){
return (200);
przerobić do tabeli expa?
naprzyklad
{
1 = 200,
2 = 400,
3 = 1000,
4 = 3000
}
witam, w jaki sposób w c++ mogę to
if(lv = 1){
return (200);
przerobić do tabeli expa?
naprzyklad
{
1 = 200,
2 = 400,
3 = 1000,
4 = 3000
}
Zrób tablicę (poczytaj o c++ array
) i w funkcji np "getLevelExperienceCap(tutaj nr levelu jako parametr)" zwracaj to co masz pod danym indeksem. Pamiętaj też o tym ze indeksy są liczone od zera, a levele od jedynki.
zadnej tablicy nie rob uzyj std::map
int arr[] = {200, 400, 1000, 3000};
int level = 2;
int exp = arr[level - 1];
cout << "For level " << level << " exp is = " << exp << endl;
A tak w ogóle to poczytaj o http://www.cprogramming.com/tutorial/stl/stlmap.html
vpiotr napisał(a):
int arr[] = {200, 400, 1000, 3000}; int level = 2; int exp = arr[level - 1]; cout << "For level " << level << " exp is = " << exp << endl;
A tak w ogóle to poczytaj o http://www.cprogramming.com/tutorial/stl/stlmap.html
próbowałem na różne sposoby zawsze zwraca mi zero
nie wiem czy to istotne jest ale robie to wśrodku tego
exp_t getExpForLv(const int32_t& lv) const
{
}
@vpiotr: ok działa, wina kompilatora.musiałem przebudować,
ale jest jedno ale.
w grze jak się zaloguję wszystko świetnie jest.
mam lv 1 ustawie lv 2 w bazie
zrobie relog
i wywala .exe
@vpiotr: po relogu wywala aplikacje.
tak to zrobione mam
exp_t getExpForLv(const int32_t& lv) const
{
exp_t x = lv;
int arr[] = {
300,
500,
1000,
3000,
1,
2,
3,
4,
5
};
int zwracam_tabele_expa = arr[x];
return zwracam_tabele_expa;
}
@vpiotr:
zmieniłem teraz poprawnie zwraca exp, ale dalej po wylogowaniu i wejsciu do gry wywala apke,
może to przez tego const?
exp_t getExpForLv(const int32_t& lv) const
{
int arr[] = {
300, //0
500, //1
1000, //2
3000, //3
1,
2,
3,
4,
5
};
int zwracam_tabele_expa = arr[lv - 1];
return zwracam_tabele_expa;
}