Bonjour a tous,
Voila j'écris ici parce que j'ai un problème, il n'est pas vraiment de codage mais plutôt de raisonnement.
J'ai un TP a faire dont le principe est de faire un jeu de carte type Magic, des cartes de différent type par exemple : Dragon, Elfe, Orc ...etc.
Ces cartes peuvent soit attaquer soit soigner.
Il y a deux joueur, chaqu'un d'entre eux ont un deck de 32 cartes. Ils pioche 7 cartes au premier tour.
Et a chaque tour, ils peuvent posé une carte chaqu'un.
Le but du TP est de travaillé les héritages et les interfaces.
Voici donc mon idée de départ :
Seulement j'ai un problème, Les decks des joueurs, les mains, l'emplacement des cartes sur le plateau et les cimetières je les ai fait avec des ArrayList qui contient des objets de type Carte.
Seulement j'ai une erreur, mes deux dragons ne sont pas de type Carte mais de type Guerrier ou Healer et donc je ne peux pas les ajouter a mes ArrayList.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 // je crée une ArrayList qui représente les cartes dans la main du joueur ArrayList <Carte> mainJoueur = new ArrayList<Carte>(); // ma carte dragon_tenebreux, je souhaiterais qu'elle soit Guerrier Guerrier dragon_tenebreux = new Dragon("Dragon des ténèbres", 5, 3); // ma carte dragon_ciel, je souhaiterais qu'elle soit Healer Healer dragon_ciel = new Dragon("Dragon du ciel", 2, 4); // je veux ajouté le dragon_tenebreux dans la main du joueur mainJoueur.add(dragon_tenebreux); // idem pour dragon_ciel mainJoueur.add(dragon_ciel);
J'ai lu des cours sur les héritages, les interfaces et le design pattern mais j'avoue ne pas avoir trouvé comment résoudre mon problème.
Je cherche une solution pour que mes cartes aient soit attaquer() soit soigner en fonction de l'interface choisi mais j'aimerais qu'elles soient également de type Carte.
Quelqu'un a une idée pour m'aider ??
Merci a tous.
Partager