Autor Wątek: Construgia  (Przeczytany 12550 razy)

Offline Kyroaku

  • Użytkownik

# Listopad 21, 2015, 20:27:53
Cytuj
Osobiscie nie widze nic zlego w Draw() wewnatrz Update(), jesli ta druga funkcja jest jedyna wywolywana w kazdej klatce.
Z wklejonego kodu ewidentnie wynika, że tak nie jest (jeśli Cię dobrze zrozumiałem).

Mam tutaj na myśli listę obiektów klasy Skill, których metody Update() i Draw() będą wywoływane na przemian.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline BrunonDEV

  • Użytkownik
    • Construgia -- RPG

# Listopad 21, 2015, 23:12:14
Nie będzie tak.

Tak się prezentuje "drzewko" wywołań:

Update_Gry() -> Update_Skilli()     -> Draw_Skilli()
                                                       -> Logic_Skilli()
                      -> Update_Miasta()  -> Draw_Miasta()
                                                       -> Logic_Miasta()
                      -> Update_Itd()...     -> Draw_Itd()...
                                                       -> Logic_Itd()...

A Update_Gry() jest kontrolowany przez timer.
« Ostatnia zmiana: Listopad 21, 2015, 23:14:15 wysłana przez BrunonDEV »

Offline mawpa

  • Użytkownik

  • +1
# Listopad 22, 2015, 00:11:37
Tak na szybko:

int never_save;
App::readFromFile("DATA/never.save", never_save);
if(never_save == 1){
                lvl = 0;
}

Dobrze rozumiem, że App::readFromFile czyta z podanego pliku do podanej zmiennej? Jeśli tak, to co w wypadku, gdy trzeba czytać kilka zmiennych? Będziesz co chwilę otwierał i zamykał ten sam plik?

Mam wrażenie, że sprawdzanie never_save powinno się odbywać raz dla wszystkich skilli (albo globalnie, sądząc po dalszej części kodu), a nie przy initowaniu każdego z osobna.

if(name == "Sila"){
                player.attackP += bonus * lvl;
}

Ja bym nazwy skilli trzymał w jakichś stałych, żeby można było je zmieniać w jednym miejscu (albo nawet skądś wczytywał przy starcie gry, chociaż to pewnie overkill). Do tego mam wrażenie, że to raczej statystyki, a nie skille.

skills.push_back(Skill());
skills[0].Init("Sila", 3, 1, 0, 0, 0);
skills.push_back(Skill());
skills[1].Init("Obrona", 5, 2, 0, 0, 0);
skills.push_back(Skill());
skills[2].Init("Witalnosc", 5, 3, 0, 0, 0);

Nie prościej zrobić tak?

skills.push_back(Skill(stringi_z_nazwami[index], punkty, index, 0, 0, 0));
Logic nie powinno być przed draw?

Ścieżka, nie ścieszka ;)

Offline BrunonDEV

  • Użytkownik
    • Construgia -- RPG

# Listopad 22, 2015, 09:18:50
Cytuj
Dobrze rozumiem, że App::readFromFile czyta z podanego pliku do podanej zmiennej? Jeśli tak, to co w wypadku, gdy trzeba czytać kilka zmiennych? Będziesz co chwilę otwierał i zamykał ten sam plik?

Mam wrażenie, że sprawdzanie never_save powinno się odbywać raz dla wszystkich skilli (albo globalnie, sądząc po dalszej części kodu), a nie przy initowaniu każdego z osobna.

Hm, tak, ta zmienna powinna być czytana globalnie, bo jest używana dosyć często. Oznacza ona to, czy gracz rozpoczął już grę i ją kontynuuje (0), czy uruchamia ją pierwszy raz (1).

Cytuj
Ja bym nazwy skilli trzymał w jakichś stałych, żeby można było je zmieniać w jednym miejscu (albo nawet skądś wczytywał przy starcie gry, chociaż to pewnie overkill). Do tego mam wrażenie, że to raczej statystyki, a nie skille.

Ale to są skille. ;) Ich nie ma być tak dużo, żebym musiał je skądś ładować, poza tym wtedy nie mógłbym dawać im osobnego bonusu, itp.

Cytuj
Nie prościej zrobić tak?
skills.push_back(Skill(stringi_z_nazwami[index], punkty, index, 0, 0, 0));

A jak w takim przypadku dasz im różny bonus, chance (to będzie m.in. do ciosu krytycznego), itp?

Cytuj
Logic nie powinno być przed draw?

Jeżeli jest za, to poprawię, chociaż chyba dużej różnicy nie będzie. ;)

Cytuj
Ścieżka, nie ścieszka ;)

Hahah, rzeczywiście. xD

Dzięki za te uwagi, przydadzą się. :)


Offline mawpa

  • Użytkownik

  • +1
# Listopad 22, 2015, 14:46:00
Chodziło mi raczej o sens rozbijania tworzenia obiektów na dwie linijki (po to są konstruktory) i o trzymanie nazw skilli w jednym miejscu. Numer skilla można załatwić jakąś statyczną zmienną typu total_skills.

Offline BrunonDEV

  • Użytkownik
    • Construgia -- RPG

# Listopad 22, 2015, 15:53:15
Timelapse z tworzenia lokacji Wulkan! :)

https://www.youtube.com/watch?v=FqGUf_C9d2Y

Tworzę lokację Wulkan. :) Ponad 2 godziny w 16 minutach. Wiem że nie powinienem tworzyć osobnej klasy dla każdej lokacji, ale tak zacząłem kilka miesięcy temu, a nie chcę wszystkiego przepisywać. ;)

Cytuj
Chodziło mi raczej o sens rozbijania tworzenia obiektów na dwie linijki (po to są konstruktory) i o trzymanie nazw skilli w jednym miejscu. Numer skilla można załatwić jakąś statyczną zmienną typu total_skills.

Przemyślę to. :)

Offline BrunonDEV

  • Użytkownik
    • Construgia -- RPG

# Grudzień 06, 2015, 09:51:50
Spora aktualizacja 0.1.7!

Nowa lokacja, quest i nie tylko!


http://construgia.c0.pl

Proszę o feedback. ;)
« Ostatnia zmiana: Grudzień 06, 2015, 15:24:29 wysłana przez BrunonDEV »