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

[SFML]Projekt gry Memory

Ostatnio zmodyfikowano 2011-06-04 20:51
Autor Wiadomość
mar3
Temat założony przez niniejszego użytkownika
[SFML]Projekt gry Memory
» 2011-06-04 20:18:09
Tworzę grę Memory (jest to moja pierwsza gra w SFML i jedna z pierwszych z grafiką 2D w C++) mam dwa projekty.
1)Jeden, w którym obiekt okna tworzę w mainie i mam klasę gra, w której tworzę obiekty wszystkich innych moich klas.
2)Drugi, w którym obiekt okna klasy tworzę w klasie gra, której też tworzę obiekty wszystkich innych moich klas.

Pliki nagłówkowe klas (plus main.cpp) z projektów:
1) - main.cpp:
C/C++
int main()
{
    sf::RenderWindow oknoAplikacji( sf::VideoMode( 800, 600, 32 ), "Gra Memory" );
    sf::Image obrazek;
    obrazek.LoadFromFile( "gfx/1.png" );
    gra game;
    while( oknoAplikacji.IsOpened() )
    {
        sf::Event zdarzenie;
        while( oknoAplikacji.GetEvent( zdarzenie ) )
        {
            if( zdarzenie.Type == sf::Event::Closed )
                 oknoAplikacji.Close();
           
            if( zdarzenie.Type == sf::Event::MouseButtonPressed && zdarzenie.MouseButton.Button == sf::Mouse::Left )
            {
                game.czyKliknietoKarte( mysz.x, mysz.y );
                sf::Vector2f mysz = oknoAplikacji.ConvertCoords( zdarzenie.MouseButton.X, zdarzenie.MouseButton.Y );
            }
        }
        oknoAplikacji.Clear( sf::Color( 255, 0, 0 ) );
        game.rysuj( & oknoAplikacji );
        oknoAplikacji.Display();
        game.zamknijOdkryte();
    }
    return 0;
}
 - gra.h
C/C++
class gra
{
    std::vector < karta > karty;
    std::vector < int > nazwyPlikow;
    sf::Image Image[ ILOSC_OBRAZOW ];
    sf::Image zakryta;
    int odkryte[ 2 ];
    short ileOdkrytych;
public:
    gra();
    ~gra();
    void rysuj( RenderWindow * );
    bool czyKliknietoKarte( int, int );
    void zamknijOdkryte();
};
 - karta.h
C/C++
class karta
{
    sf::Image zakryty;
    sf::Image odkryty;
    sf::Sprite kartaSprajt;
    bool czy_odkryta;
    int nrImg;
public:
    karta( int, sf::Image &, sf::Image &, int, int );
    ~karta();
    void rysuj( sf::RenderWindow * );
    sf::Vector2f czyKlikni ę to( int, int );
    void odkryj();
    void zakryj();
    int getNrImg();
    bool czyOdkryta();
};
2) - main.cpp
C/C++
int main()
{
    naszSprajt.SetImage( obrazek );
    naszSprajt.SetPosition( 400, 300 ); */
    gra game;
    while( game.isOpened() )
         game.rysuj();
   
    return 0;
}
 - gra.h
C/C++
class gra
{
    sf::RenderWindow oknoAplikacji;
    std::vector < karta > karty;
    std::vector < int > nazwyPlikow;
    sf::Image Image[ ILOSC_OBRAZOW ];
    sf::Image zakryta;
    int odkryte[ 2 ];
    short ileOdkrytych;
public:
    gra();
    ~gra();
    bool isOpened() { return oknoAplikacji.IsOpened(); }
    void rysuj();
    bool czyKliknietoKarte( int, int );
    void zamknijOdkryte();
};
 - karta.h
C/C++
class karta
{
    sf::Image zakryty;
    sf::Image odkryty;
    sf::Sprite kartaSprajt;
    bool czy_odkryta;
    int nrImg;
public:
    karta( int, sf::Image &, sf::Image &, int, int );
    ~karta();
    void rysuj( sf::RenderWindow * );
    sf::Vector2f czyKlikni ę to( int, int );
    void odkryj();
    void zakryj();
    int getNrImg();
    bool czyOdkryta();
};
Który z projektów jest szybszy/wydajniejszy/lepszy wg. was? Nie mogę się zdecydować. Może macie lepszy pomysł?
P-33856
DejaVu
» 2011-06-04 20:21:22
C/C++
srand( time( NULL ) );
printf( "Lepszy jest projekt %d :)\n",( rand() % 2 ) + 1 );
P-33857
mar3
Temat założony przez niniejszego użytkownika
» 2011-06-04 20:26:33
Ale który z tych projektów mniej obciąża procesor mniej ciągnie ramu?
P-33859
DejaVu
» 2011-06-04 20:41:09
Zapomnij, że będziemy się w takie dyskusje wdawali :) Zrób projekt na miarę swoich możliwości. Jak nie wiesz co więcej pamięci zajmuje to po co się nią przejmujesz :) Będzie problem - będziesz go rozwiązywał, tymczasem robisz problem z niczego.
P-33860
mar3
Temat założony przez niniejszego użytkownika
» 2011-06-04 20:51:03
W takim razie zamykam temat.
P-33861
« 1 »
  Strona 1 z 1