Bonjour à vous,
Etant étudiant en première année d'informatique, j'ai comme projet de programmer un jeu de cartes (la bataille) pour 2 joueurs en Pascal. J'ai déjà commencé par définir les types en question :
Puis la procédure pour remplir le paquet de cartes (liste chaînée) :
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 TYPE Couleurs = (pique, coeur, carreau, trefle); Liste = ^Carte; NumFig = record num : integer; figure : char; end; Carte = record couleur : Couleurs; valeur : NumFig; suivant : Liste; end; Pile = ^Carte;
Là où je bloque, c'est comment mélanger cette liste chaînée, pour pouvoir ensuite distribuer directement les cartes vers les 2 autres listes (celles des joueurs). Je sais qu'à la place d'une liste chaînée, je pourrais utiliser un tableau, la manipulation y serait plus facile. Mais le professeur a bien précisé qu'il fallait utiliser les structures de données dynamiques. Toute aide me serait précieuse!
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 PROCEDURE remplissage (VAR paquet1 : Liste); VAR ElementP : liste; i : integer; BEGIN paquet1 := NIL; FOR i:=1 TO 13 DO BEGIN NEW (ElementP); ElementP^.couleur := pique ; ElementP^.valeur.num := i; ElementP^.suivant := paquet1; paquet1 := ElementP; NEW (ElementP); ElementP^.couleur := coeur ; ElementP^.valeur.num := i; ElementP^.suivant := paquet1; paquet1 := ElementP; NEW (ElementP); ElementP^.couleur := trefle ; ElementP^.valeur.num := i; ElementP^.suivant := paquet1; paquet1 := ElementP; NEW (ElementP); ElementP^.couleur := carreau ; ElementP^.valeur.num := i; ElementP^.suivant := paquet1; paquet1 := ElementP; END; END;
Merci d'avance.
Très cordialement.
Partager