Szukam w miarę prostego pomysłu jak obiektowo zbudować program, na przykład grę kółko i krzyżyk. Przeważnie korzystałem z takiego schematu znalezionego na internecie:
Był singleton, i klasa abstrakcyjna okna, i od tego tworzyło się różne inne okna jak menu, okno gry, okno opcji.
Jest to trochę zawiły dla mnie sposób, i szukam czegoś prostszego:
Wymyśliłem klasę game, która ma funkcję publiczną runGame();
W main tworzy się obiekt game i wywołuję te funkcję.
#pragma once
#include "Menu.h"
#include <SFML/Graphics.hpp>
class Game
{
public:
Game(void);
~Game(void);
void runGame();
private:
enum gameState
{
GAME,
MENU,
END
};
gameState state;
Menu menu;
};
runGame()
posiada switcha który ma wybierać co dalej biorąc pod uwagę state, aktualny stan gry. Konstruktor na początku ustawia stan MENU, więc jest wywoływany w switchu menu.draw();
Ale jak potem zmienić stan w klasie Game
, w menu wybierzemy np. opcję start
, i jak potem komunikować obie te klasy?
Macie jakieś pomysły na konstrukcję obiektową programu?
`dodanie znaczników ``` - @furious programming