Sto scrivendo un gioco orientato agli oggetti per divertimento in cui i giocatori di due squadre combattono. Devo implementare la funzione di spostamento per i giocatori in un labirinto. Il labirinto dovrebbe avere informazioni sulla posizione con alcune caratteristiche come altezza o tipo (collina, acqua ecc.). Quindi per implementare la posizione ho due idee. Il primo è che ho bisogno di una classe Board in cui memorizzo le informazioni sulla posizione in questa classe e anche la classe Location che ha coordinate x e y. La classe del giocatore fa riferimento alla classe Board.
class Board{
public:
std::vector<Location> map;
};
class Location{
public:
int x_coordinate;
int y_coordinate;
int height;
Feature ground_feature;
};
La seconda idea è che invece di avere una classe Board avrò una classe Location che ha coordinate x e y e una lista statica di tutte le coordinate nel gioco. Questa classe di località sarà membro della classe Player.
class Location{
public:
int x_coordinate;
int y_coordinate;
int height;
Feature ground_feature;
static std::vector<Location> map;
};
Potresti dirmi quali di queste idee di implementazione sono più solide e verificabili e perché? O quale sarebbe l'idea migliore per implementare tale requisito.