Coucou
J'essaie de générer des nombres au hasard pour les utiliser dans un programme et vérifier quelle est la probabilité approchée de perdre ou de gagner à un jeu dans un exemple précis. Pour le fun
Voici mon problème : dans la boucle while, random(n) donne toujours le même nombre dans une exécution. Puis un autre nombre pour une autre exécution. Je n'arrive pas à trouver l'erreur.

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
program blackjack ;
var n, banque, compteuras, win, i : integer ;
 
begin
     compteuras:=0;
     banque:=10;
     win:=0;
     for i:=1 to 100 do begin
                             while banque<17 do begin
                                                     randomize ;
                                                     n:=random(13)+1;
                                                     if n>9 then n:=10;
                                                     if (n=1) and (banque<11) then begin
                                                                                         n:=11;
                                                                                         compteuras:=1;
                                                                                    end;
                                                     if ((banque+n)>21) and (compteuras=1) then begin
                                                                                                     compteuras:=compteuras-1 ;
                                                                                                     banque:=banque+n-10;
                                                                                                end
                                                     else banque:=banque+n;
                                                end;
                             if banque<22 then win:=win+1;
                             writeln(banque); //j'ai mis ça pour vérifier le résultat, et sur les 100 appels, banque vaut exactement la même valeur
                        end;
     writeln(win);
end.