Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML, C++] Jak oprogramować krwiożerczych i bezdusznych wrogów?

Ostatnio zmodyfikowano 2011-07-21 18:01
Autor Wiadomość
diego997
Temat założony przez niniejszego użytkownika
[SFML, C++] Jak oprogramować krwiożerczych i bezdusznych wrogów?
» 2011-07-21 15:40:00
Znowu nie wiem jak prawidłowo nazwać temat.

Otóż zamierzam zrobić grę coś w stylu warblade i mam takie pytanie. Czy ,,przeciwnicy,, , ,,allieny,, whatever które tam występują najlepiej zrobić na klasach, czy wystarcza funkcje? Mam nadzieję, że mnie rozumiecie ;)

By malan:
Taka nazwa chyba będzie odpowiednia :D
P-36455
akwes
» 2011-07-21 15:43:15
Według mnie najlepiej to zrobić na klasach. Wtedy możesz produkować bądź ile potworów jednego typu jedną komendą :P

Warto zrobić abstrakcyjną klasę Postać. I w niej wspólne elementy, naprzykład funkcje "rysuj", wtedy będziesz mógł zarządzać nimi przez jedną listę albo tablicę, jak wolisz.

Jednen obiekt to będzie jeden potworek. Łatwo wtedy usuwać zniszczone, dodawać je... Dłużej się może pisze ale czytelniej i później wygoda.
P-36456
DejaVu
» 2011-07-21 15:47:05
Ucz się pisania aplikacji obiektowo. Dobry projekt obiektowy = łatwe jego utrzymanie i rozwój.
P-36457
akwes
» 2011-07-21 15:48:57
Właśnie to mnie dziwi,

DejaVu, pisałeś kiedyś aplikacje wyłącznie funkcjonalnie zamiast obiektowo? Od razu z C++, Grębosz zaaplikował mi obiektowość, nie jestem sobie w stanie nawet wyobrazić pracy na samych funkcjach, to jest możliwe?
P-36459
diego997
Temat założony przez niniejszego użytkownika
» 2011-07-21 15:50:06
A poruszanie sie tych potworów to zrobić w kolejnej klasie czy tej samej, albo może w funkcji?

P-36460
akwes
» 2011-07-21 15:52:54
Proponowałbym w jednej, coś na wzór:
C/C++
class Monster
{
public:
   
    int posX, posY;
   
    void Move( int, int );
    void Draw( sf::RenderWindow * );
    void Shoot();
}

Skoro zrobisz funkcje to czemu by ich nie dać w klasie :P ?

Jeżeli chodzi Ci o zajęte miejsce to pamiętaj że funkcje w klasie są w pamięci tylko raz dla wszystkich obiektów danej klasy, tylko zmiennych jest tyle kompletów ile obiektów.
P-36462
DejaVu
» 2011-07-21 15:55:11
Jest możliwe. Kiedyś na zajęciach byłem zmuszony do programowania strukturalnego (czyli brak obiektowości). Da się tak pisać aplikacje, ale na dłuższą metę to strzał w stopę :)
P-36464
diego997
Temat założony przez niniejszego użytkownika
» 2011-07-21 15:58:51
A np jak bym chcial stworzyć 100 takich przeciwników to co robie


Monster Enemy1
Monster Enemy2
Monster Enemy3
...
Monster Enemy100

??

P-36466
« 1 » 2 3 4
  Strona 1 z 4 Następna strona