Skocz do zawartości

Zablokowane Xenon Pacman


DobryZiom

Rekomendowane odpowiedzi

proszę cie... nie mów jak doda -.- Po co mam dawać source skoro twierdzisz że mój kod jest do d... niczego ??

po to żeby się czegoś nauczyć?

 

Przede wszystkim kod jest mało czytelny. Nie wstawiaj all do jednego/dwóch plików.

Masz aktora C_GRACZ(to C ma jakieś zastosowanie?) to zrób mu pliki z *.h i *.cpp deklaracje w pliku nagłówkowym definicje w cpp. Docenisz to później jak będziesz miał większe projekty na głowie.

 

Przykład :

 

file: Gracz.h

class Gracz: public XE_Actor
{
public:
   /*
   update.. blablabal
   */
  void update();
  /*
    render blablala
  */
    void render();
private:

    //blabla
    int data;
    //blabla
    object* ptr;
    
};

file: Gracz.cpp

#include"Gracz.h"


void Gracz::update()
{
//code
}


void Gracz::render()
{

}

 

 

Nie odwołuj się do obiektów przez stringi(np: Game.Sprites.Access( "spr_gracz2" )) to jest cholernie wolne. Używaj indexów/uchwytów albo hash-niętych stringów(w unrealu bodajże nazywane jest to "name" możesz też często to znaleźć jako StringId).

 

 

Nie dawaj żadnych danych jako public w klasach. Od tego typu konstrukcji masz POD'y.

 

class C_BONUS : public XE_ACTOR2D
{
    public:
            XE_VECTOR pos;
            int hp;
            ...

 

 

Jak już pisałem nie korzystaj z alokacji na stercie jeśli nie musisz.

 

  Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+20 ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+40 ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+60 ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+80 ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+100 ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+120 ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+140 ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+160 ) ) );
        Game.RegisterActor( "MALY_KOLEC", new C_MALY_KOLEC( XE_VECTOR( Position.X+9, Position.Y+180 ) ) );

 

Jest to bardzo wolne+fragmentacja pamięci+masa pamięci się marnuje.

Zamias tego w klasie WYRZUTNIA_KOLCOW:

 

private:

    MALY_KOLEC m_aKolce[10];

Dodaj sobie tylko odpowiednie metody manipulujące i po problemie lub skorzystaj z alokatorów jakie oferuje silnik. Zyskujesz na prędkości/pamięci/bezpieczeństwie.

 

void C_MALY_KOLEC::Render()
{
    DrawSprite();
}

Po co to? Jeśli korzystasz z standarowego renderowania to silnik to załapie i sam wyrenderuje co trzeba.

Odnośnik do komentarza
Udostępnij na innych stronach

Dla mnie gra w wykonaniu jest po prostu... dostałbym kare za wulgaryzm :) Pomysł nie jest jeszcze taki do bani, więc się postaraj i popraw to i owo a może coś tam osiągniesz. Ode mnie masz 2/5 (za pomysł) I nie popisuj się takimi długimi kodami, bo można to zrobić krócej.

Odnośnik do komentarza
Udostępnij na innych stronach

bez kłotni mi tu Żuczki, bo Was wykastruje
Odnośnik do komentarza
Udostępnij na innych stronach

@up

nie zmieniaj tak cytatów(przykryziom = dobryziom mój panie)

 

Po 1. Nie dzieciaku. Jesteś tylko rok starszy( a bynajmniej pisze że masz 18 lat )...

to, że jesteś dzieciakiem(bo jesteś) zależy od twojego poziomu rozmowy i inteligencji, a nie od wieku

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...