Keresés

Új hozzászólás Aktív témák

  • cog777

    őstag

    válasz proci985 #20407 üzenetére

    Na igen, jatekoknal nepszeru a DOD, ezert is lettem megkeveredve kicsit.
    Szoval ezt talaltam az OOP vs DOD osszehasonlitasaban:
    Labdat akarunk implementalni.

    OOP
    class Ball {
    Point position;
    Color color;
    double radius;

    void draw();
    };
    vector<Ball> balls;

    DOD

    class Body {
    Point position;
    double radius;
    };

    class Balls {
    vector<Body> bodies;
    vector<Color> color;

    void draw();
    };

    Ez utobbi hatekonyabb a CPU cache szempontjabol.
    Gondolom egy interpreteres nyelv eseten ez nem annyira szamit, mert sokkal tobb mindent takar egy utasitas / magasabb szintu.

    Illetve meg van a Data Driven Development (implicit vettem a Stak Overflow oldalrol, ahol a srac DOD-nak jelolte meg de valaki ramutatott hogy ez DDD.

    typedef struct
    {
    int Index;
    void (*Perform)();
    }AnimationIndice;

    // build my animation dictionary
    AnimationIndice AnimationIndices[] =
    {
    { 0,PerformMoveForward }
    { 1,PerformMoveBack }
    }
    // when its time to run, i use my dictionary to find my logic
    int animation; // this value is the animation index
    AnimationIndices[animation].Perform();

    Ugy gondolom hogy valoszinuleg ezek nagyon is beleillenek a jatekfejlesztes eszkozkeszletebe.

    UML valszeg segiteni fog. Data layer viszont fontos, nagyban segit a jatekallas menteseben. Kulon DOD szeruen is lehet tarolni a tulajdonsagokat, meg OOP-ben is. Na utobbi eleg remalomszeru - sok melo, gyakorlatilag minden kulonbozo osztalythoz meg kel csinalni a szerializaciot manualisan. Jo lenne itt egyszerusiteni es egy algoritmus csak importalna/exportalna az adatokat. A verzio ugrast is segitene.

    Jo hogy emlitetted a DOD-t. Ez szerintem segit.

    cucka emlitette a grafot, a hex terkepet abba probalom eltarolni.

Új hozzászólás Aktív témák