[SFML]Projekt gry Memory
Ostatnio zmodyfikowano 2011-06-04 20:51
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: 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.hclass 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.hclass 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.cppint main() { naszSprajt.SetImage( obrazek ); naszSprajt.SetPosition( 400, 300 ); */ gra game; while( game.isOpened() ) game.rysuj(); return 0; } - gra.hclass 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.hclass 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ł? |
|
DejaVu |
» 2011-06-04 20:21:22 srand( time( NULL ) ); printf( "Lepszy jest projekt %d :)\n",( rand() % 2 ) + 1 ); |
|
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? |
|
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. |
|
mar3 Temat założony przez niniejszego użytkownika |
» 2011-06-04 20:51:03 W takim razie zamykam temat. |
|
« 1 » |