Bonjour, je vais essayer d'étre claire, mais c'est déjà pas bien claire dans ma tête.
J'ai vu le topic http://www.developpez.net/forums/d12...pecialisation/, je ne sais pas si ça as un lien avec mon sujet ou pas. (Pas le niveau en template).
J'ai une énorme map divisé en chunk. Cela est dans un contexte jeux 2D, jeu solo et jeu multi + serveur.
- Chaque chunk contiens le chunk d'as coté, la taille un chunk, couche de colision, ...
- Sur la partie serveur j'ai des méta-données qui sont: liste de joueurs sur chaque chunk, ...
- Sur la partie client j'ai des méta-données qui sont: image pour les tiles, ...
J'ai des classes qui vont avoir besoin des méta-donnée spécifique, et d'autre non.
Je m'explique:
- Pour les déplacement générique j'ai besion juste des info des chunks (générique), utilisé pour les bot, qui sont des clients sans besoin de méta-données, car il n'utilise pas l'affichage
- Utilisation du point 1) + Sur le client je fait la même chose, mais je doit toujours avoir les méta-données (pour afficher map courrante et proche)
- Utilisation du point 1) + Sur le serveur je doit avoir les méta-données, pour envoyé les déplacements du joueurs courrant aux autre joueurs
Et les bots, sont coté serveur, donc je leur passe les chunks avec méta-données serveur.
Et donc voila, je maitrise un minimum l'héritage, pas du tout les templates. Et la j'ai besoin d'un joyeux bordel pour faire proprement tout ça.
Faire 2x structure de données, m'obligae à faire 2x la classe, non?
J'ai pensais faire 2 strucutre:
Et les méthodes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Map_server { Map_server *map_left; ... } Map_client { Map_client *map_left; ... }
Bref, je sens qu'il me manque des connaissances pour évité la duplication de code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 void moveBasic(Map_server * baseMap); void moveClient(Map_client * baseMap);//moveClient hériterai de Map_server et ou Map_server serai caster en Map_client
Merci d'avance de votre aide.
Partager