Bonjour, je fait un jeu de carte (bataille) en recursi et liste chainee

Le prob c est que je n arrive pas a faire ma fonction melange

je l appel a partir de ma fonction couper_paquet_aleat qui coupe le paquet en 2 , et apres je veux melanger en mettant un coup la 1 ere carte du paquet1 dans p puis un coup la 1 ere carte du paquet 2 dans p

et ainsi de suite jusqua epuisement des 2 paquets
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
46
47
48
49
50
51
52
53
54
55
 
 
type
tpaquet=^tcarte;
tcarte=record
 
    couleur:integer ;
    valeur:integer ;
    suiv:tpaquet ;
 
end;
 
-------------------------------------
 
function melangerecursif(p,paquet1,paquet2:tpaquet):tpaquet;
var liste_temp:tpaquet;
 
begin
 
 
     if not est_liste_vide(paquet1) and not est_liste_vide(paquet2) then
 
          melangerecursif:=melangerecursif(p,ajout_queue(suivant(paquet1),p),(ajout_queue(suivant(paquet2),p)));
 
     if est_liste_vide(paquet1) and not  est_liste_vide(paquet2) then
 
          melangerecursif:=concatene (paquet2,p);
 
     if est_liste_vide(paquet2) and not  est_liste_vide(paquet1) then
          melangerecursif:=concatene (paquet1,p) ;
 
 
end;
(****************************************************)
(****************************************************)
(****************************************************)
 
procedure coupe_paquet_aleat(var p,paquet1,paquet2:tpaquet);
var nbcoupe:integer;
 
begin
       randomize;
       nbcoupe:=random(maxcoul*maxval);
       for i:= 1 to nbcoupe do
       begin
             paquet1:=ajout_queue(tete(p),paquet1);
             p:=suivant(p);
       end;
       paquet2:=p;
       p:=liste_vide;
       writeln(nbcoupe);
       melangerecursif(p,paquet1,paquet2);
   end;
 
(**********************************************)
la fonction tete prend la 1 ere carte d un paquet , et toute les autres fonctions comme ajouter queue marche

qqn a t il une idee ?
post redirigé de Pascal par HRS