Bonjour et bonsoir à toutes et à tous!
Alors voilà, je suis un jeune étudiant en informatique et pour réussir cette année il me faut rendre un jeu qui tourne. Ce jeu c'est le Quatro, une sorte de Puissance 4. La différence est que les pions ne sont pas seulement soit blanc soit noir, ils sont aussi soit grands soit petits, soit carrés soit ronds et soit creusés soit pleins.
Je rencontre divers problèmes durant mon codage et je crois que j'ai trop de questions. Les poser à mes amis étudiants fut une solution au début mais je crois que je prenais beaucoup trop de leurs temps, ce qui fait que je viens vers vous, Ô aide indispensable à ma réussite
Par contre, je ne viens pas demander des réponses toutes faites, des éclaircissements seraient parfaits!
Je vous remercie d'avance!
Je vous explique où j'en suis :
J'ai tout d'abord comme demandé sur ma feuille d'instructions crée quatre énumérations : filling, shape, color & size. Ces quatre énumérations, je les ai regroupées dans un objet Piece.
Donc une piece a une couleur, une taille, est pleine ou vide et a une forme.
Exemple : Piece = WHITE, HOLLOW, TALL & ROUND
Maintenant je dois créer une liste d'objets de types pieces et y mettre les 16pieces de types différents.
Voici mon code :
Dans un premier temps, je me disais que c'était bête de tout marquer de cette manière. Imaginons que je doive coder un jeu qui regroupe 20 manieres différentes de faire un quatro...
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 package quarto; import java.util.ArrayList; /** * * @author dell portable */ public class Stock { private ArrayList pieces; public Stock() { ArrayList<Piece> pieces = new ArrayList<Piece>(16); this.pieces.add(new Piece(Filling.HOLLOW, Shape.ROUND, Size.SHORT, Color.WHITE)); this.pieces.add(new Piece(Filling.HOLLOW, Shape.ROUND, Size.SHORT, Color.WHITE)); this.pieces.add(new Piece(Filling.HOLLOW, Shape.ROUND, Size.SHORT, Color.BLACK)); this.pieces.add(new Piece(Filling.HOLLOW, Shape.ROUND, Size.TALL, Color.WHITE)); this.pieces.add(new Piece(Filling.HOLLOW, Shape.ROUND, Size.TALL, Color.BLACK)); this.pieces.add(new Piece(Filling.HOLLOW, Shape.SQUARE, Size.SHORT, Color.WHITE)); this.pieces.add(new Piece(Filling.HOLLOW, Shape.SQUARE, Size.SHORT, Color.BLACK)); this.pieces.add(new Piece(Filling.HOLLOW, Shape.SQUARE, Size.TALL, Color.WHITE)); this.pieces.add(new Piece(Filling.HOLLOW, Shape.SQUARE, Size.TALL, Color.BLACK)); this.pieces.add(new Piece(Filling.SOLID, Shape.ROUND, Size.SHORT, Color.WHITE)); this.pieces.add(new Piece(Filling.SOLID, Shape.ROUND, Size.SHORT, Color.BLACK)); this.pieces.add(new Piece(Filling.SOLID, Shape.ROUND, Size.TALL, Color.WHITE)); this.pieces.add(new Piece(Filling.SOLID, Shape.ROUND, Size.TALL, Color.BLACK)); this.pieces.add(new Piece(Filling.SOLID, Shape.SQUARE, Size.SHORT, Color.WHITE)); this.pieces.add(new Piece(Filling.SOLID, Shape.SQUARE, Size.SHORT, Color.BLACK)); this.pieces.add(new Piece(Filling.SOLID, Shape.SQUARE, Size.TALL, Color.WHITE)); this.pieces.add(new Piece(Filling.SOLID, Shape.SQUARE, Size.TALL, Color.BLACK)); }
Je vois bien un arbre où :
Mais logiquement je vois pas trop où je peux gagner du temps à faire les choses ainsi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 PIECE / \ HOLLOW SOLID / \ / \ ROUND SQUARE / \ TALL SHORT / \ WHITE BLACK
Ensuite en seconde question, on me demande de redéfinir toString() pour qu'elle retourne un String qui renseigne sur les caractéristiques des pieces de la liste sous la forme d'une liste numérotée.
Exemple :
0 WHITE SHORT HOLLOW SQUARE
1 WHITE TALL SOLID SQUARE
2 WHITE SHORT SOLID SQUARE
etc...
Mon probléme c'est que je comprends pas trop la méthode toString(). Donc je crois que ce bout de code est bon, mais comment faire une implémentation?
Je pourrais faire un :
-Pour i de 0 a 15 faire
piece i + filling + shape + size + color
-fin pour
Mais là je me dis que tout part en couilles xD Car je return 15fois ce qui est totalement n'importe quoi. Devrais-je faire une liste que je convertisse en String? ou un Tableau?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @Override public String toString() { for (int i = 0; i<=15; i++){ return i + filling + shape + size + color; } }
Merci d'avance et désolé pour mon niveau :/
Partager