program tic_tac_toe_essai;
uses crt, graph;
var ttt:array[1..3,1..3] of integer;
var lettre,reponse,cf,col:char;
var x, y,pl,victoire,sortie,z,tour,joueur1, joueur2,point,ptf:integer;
var pilote, mode:integer;
var ptx1,ptx2,ptx3,ptx4,pty1,pty2,pty3,pty4,axex,axey :integer;
var cx,cy,n,h,r,a,go,colx,coly:integer;
var lx1,lx2,ly1,ly2:integer;
var sorties: char;
    n1, n2:string[7];
    nomdujeu, mc, sophie,S,M,V1,V2: string;

procedure departgrille;(*la valeur zero sera attribuee a toutes les cases du tableau ttt*)
begin
          for x:= 1 to 3 do
              begin
                   for y:=1 to 3 do
                       ttt[x,y]:=0;
              end;
end;

procedure grilledebut;(*graphique presentant le titre, puis page presentant les instructions*)
begin
     clrscr;

     pilote:=detect; (*graphique presentant le titre du jeu et le nom de ses creatrices*)
     initgraph(pilote,mode,'m:/bgi');

     setbkcolor(green);

     nomdujeu:=('Tic-Tac-Toe');
     mc:=('Marie-Christine Marsan');
     sophie:=('Sophie Durocher');


     settextstyle(3,0,5);
     outtextxy((getmaxx-textwidth(nomdujeu)) div 2, 1,'Tic-Tac-Toe');

     settextstyle(2,0,5);
     outtextxy((getmaxx-textwidth(mc)) div 2, (getmaxy-textheight(mc)) div 2, 'Marie-Christine Marsan');
     outtextxy((getmaxx-textwidth(sophie)) div 2, ((getmaxy-textheight(sophie)) div 2) +40 , 'Sophie Durocher');
     readln;
     closegraph;
     (*demande aux joueurs leur nom et l'emmagasine dans la bonne variable*)
     writeln('Bonjour,');
     writeln(' ');
     write('Quel est le nom du joueur 1: ');
     readln(n1);
writeln(' ');
     write('Quel est le nom du joueur 2: ');
     read(n2);

     clrscr;
     repeat(*les instructions du jeu en mode non graphique*)
writeln('instruction:');
writeln('1. Chaque joeur choisi la forme de son jeton.');
writeln('2. Dans la grille 3x3, le joueur 1,', n1 ,', place son jeton dans une case vide.');
writeln('3. Le joueur 2,',n2, ' ,place son jeton dans une case vide.');
writeln('4. Les joeurs continuent ainsi jusqu''a temps qu''un joueur ai reussi a placer son jeton dans trois case de suite');
writeln(' (Les 3 cases peuvent etre en horizontal, en vertical ou en oblique.)');
writeln(' ');
writeln(' ');
           writeln('Pesez sur x pour quitter les instructions');
           readln;

      begin
           sound(349);(*extrait de la chanson du film le Roi Lion*)
           delay(800);
           sound(698);
           delay(650);
           sound(587);
           delay(650);
           sound(523);
           delay(650);
           sound(698);
           delay(650);
           sound(597);
           delay(650);
           sound(466);
           delay(900);
           sound(392);
           delay(900);
           sound(349);
           delay(800);
           sound(466);
           delay(600);
           sound(622);
           delay(700);
           sound(587);
           delay(800);
           sound(523);
           delay(2000);

           nosound;

     end;

           sorties:= readkey;
     until sorties = ('x');(*reecrit les instructions jusqu'a ce que
      l'utilisateur appuie sur la touche x'*)

end;

procedure grille;(*graphique du dessin de la planche de jeu, soit une grille*)
begin
     pilote:=detect;
     initgraph(pilote,mode,'m:/bgi');

     (*titre du jeu en haut de la grille*)
     setbkcolor(green);
     settextstyle(3,0,4);
     outtextxy((getmaxx-textwidth(nomdujeu)) div 2, 1,'Tic-Tac-Toe');
     setlinestyle(0,$c3,3);
     line(240,50,240,430);
     line(400,50,400,430);
     line(100,166,540,166);
     line(100,313,540,313);
     (*ecrire la lettre correspondante a chaque case dans la grille*)
     outtextxy(215,120,'E');
     outtextxy(375,120,'R');
     outtextxy(525,120,'T');
     outtextxy(215,275,'D');
     outtextxy(375,275,'F');
     outtextxy(525,275,'G');
     outtextxy(215,410,'C');
     outtextxy(375,410,'V');
     outtextxy(525,410,'B');

     (*ecrire au bas de l'ecran le nom des joueurs pour pouvoir ecrire a
      cote les points qu'ils ont accumules*)
     settextstyle(0,0,1);
     outtextxy(8,(getmaxY-textheight(n1)), n1);
     outtextxy(textwidth(n1)+8, getmaxy-textheight(n1), ':');

     outtextxy(getmaxx-(textwidth(n2)+50), getmaxy-textheight(n2), n2);
     outtextxy(getmaxx- 50 , getmaxy-textheight(n2), ':');

     (*afficher sur la meme fenetre que la grille du jeu le nombre de partie
      gagnee par chaque joueur a cote de leur nom respectif*)
     S:='                        ';
     str(joueur1,S);
     outtextxy(100,470,S);
     M:='             ';
     str(joueur2,M);
     outtextxy(600,470 , M)

end;

procedure dessinx;(*dessin de la forme de la medaille. Ici c'est un X.*)
begin
     setcolor(colx);
     line(ptx1,pty1,ptx2,pty2);
     line(ptx3,pty3,ptx4,pty4);
end ;


procedure dessino;(*dessin de la forme de la medaille. Ici,
c'est un cercle vide*)
begin
     setlinestyle(0,$c3,4);
     setcolor(coly);
     circle(axex,axey,50);
end;


procedure forme;(*permet de savoir quelle forme associer a chaque joueur,
 un X ou un O, pour pouvoir le tracer sur la grille. Chaque fois qu'un X
 est dessine, un do grave sera joue et chaque fois qu'un O sera joue,
 un do plus aigu sera joue.*)
begin
     if pl=1 then(*pl1 est associe au X*)
     begin
      dessinx;
      sound(262);
      delay(150);
      nosound;
     end;

     if pl=2 then (*pl2 est associe au O*)
     begin
      dessino;
      sound(523);
      delay(150);
      nosound;
     end;
end;

procedure cptf;(*point est une variable qui associe au joueur1 le chiffre
 associe a la forme de son jeton. (1=X et 2=O). La variable ptf associe
 au joueur2 une variable qui sera differente de celle du joueur 1 pour
 pouvoir distinguer quel joueur aura gagne la partie.
 (Cela explique le 3-point)*)
begin
     if point=1 then
        ptf:=3-point;
     if point=2 then
        ptf:=3-point;
end;

procedure fin;(*permet de savoir quel joueur a gagne selon la valeur de
 leur variable, vu a la procedure precedente, qui leur est attribuee*)
begin
cptf;
     if victoire= point then
     begin
          settextstyle(4,0,3);
          setcolor(red);
          Outtextxy(250,75,'Gagnant du tour');
          Outtextxy(300,120,n1);
          joueur1:=joueur1+1;
     end
     else
     if victoire= ptf then
     begin
      settextstyle(4,0,3);
      setcolor(red);
      Outtextxy(250,75,'Gagnant du tour');
      Outtextxy(300,120,n2);
      joueur2:=joueur2+1;
     end
     else if  victoire=0 then
     begin
          settextstyle(4,0,3);
          setcolor(red);
          Outtextxy(250,100,'Partie nulle');
     end;
     readln;

end;

procedure stp;(*variable qui permet de s'assurer qu'une meme touche ne soit
 pas peser 2 fois. Sorite=1 signifie que la touche n'a pas encore ete
 remplie et qu'on peut tracer une forme a l'interieur (case du tableau=0).
 Tandis que Sortie=0 siginfie que la touche que l'utilisateur a pesee a deja
 ete remplie. (case du tableau est differente de 0)*)
begin
     if ttt[x,y]=0 then
        sortie:=1;
     if ttt[x,y]<>0 then
        sortie:=0;
end;

procedure choix;(*procedure permettant de lire la lettre que le joueur
 pressera sur le clavier. Selon la touche appuyee, elle correspondera a
 une case du tableau ttt (d'ou le fait que l'on change les valeurs de x et y
 selon la touche pesee). Puis comme vu precedemment, si la case du tableau
 lui correspondant est vide, il pourra accorder une valeur de 1 a la
 variable 'sortie' et ainsi, modififier les coordonnees necessaires au
 tracage des differents jetons. (les ptx_ et pty_ correspondent a la forme
 'x' et les axe_ correspondent a la form 'o') .*)
          begin
               lettre:=upcase(readkey);
               sortie:=0;
               if (lettre = 'E') then
               begin
                x:=1; y:=1;
                stp;
                if sortie=1 then
                begin
                     ptx1:=100; pty1:=50; ptx2:=240; pty2:=166;
                     ptx3:=240; pty3:=50; ptx4:=100; pty4:=166;
                     axex:=170; axey:=108;
                end;
               end;

               if (lettre = 'R') then
               begin
                x:=2; y:=1;
                stp;
                if sortie=1 then
                   begin
                        ptx1:=240; pty1:=50; ptx2:=400; pty2:=166;
                        ptx3:=400; pty3:=50; ptx4:=240; pty4:=166;
                        axex:=320; axey:=108;
                   end;
               end;


               if(lettre ='T') then
               begin
                x:=3; y:=1;
                stp;
                if sortie=1 then
                begin
                     ptx1:=400; pty1:=50; ptx2:=540; pty2:=166;
                     ptx3:=540; pty3:=50; ptx4:=400; pty4:=166;
                     axex:=470; axey:=108;
                end;
               end;

               if (lettre ='D') then
               begin
                x:=1; y:=2;
                stp;
                if sortie=1 then
                begin
                     ptx1:=100; pty1:=166; ptx2:=240; pty2:=313;
                     ptx3:=240; pty3:=166; ptx4:=100; pty4:=313;
                     axex:=170; axey:=239;
                end;
               end;

               if ( lettre='F') then
               begin
                x:=2; y:=2;
                stp;
                if sortie=1 then
                begin
                     ptx1:=240; pty1:=166; ptx2:=400; pty2:=313;
                     ptx3:=400; pty3:=166; ptx4:=240; pty4:=313;
                     axex:=320; axey:=239;
                end;
               end;

               if (lettre='G') then
               begin
                x:=3; y:=2;
                stp;
                if sortie=1 then
                begin
                     ptx1:=400; pty1:=166; ptx2:=540; pty2:=313;
                     ptx3:=540; pty3:=166; ptx4:=400; pty4:=313;
                     axex:=470; axey:=239;
                end;
               end;

               if (lettre= 'C') then
               begin
                x:=1; y:=3;
                stp;
                if sortie=1 then
                begin
                     ptx1:=100; pty1:=313; ptx2:=240; pty2:=430;
                     ptx3:=240; pty3:=313; ptx4:=100; pty4:=430;
                     axex:=170; axey:= 371;
                end;
               end;

               if(lettre='V') then
               begin
                x:=2;  y:=3;
                stp;
                if sortie=1 then
                begin
                     ptx1:=240; pty1:=313; ptx2:=400; pty2:=430;
                     ptx3:=400; pty3:=313; ptx4:=240; pty4:=430;
                     axex:=320; axey:=371;
                end;
               end;

               if (lettre='B')  then
               begin
                x:=3; y:=3;
                stp;
                if sortie=1 then
                begin
                     ptx1:=400; pty1:=313; ptx2:=540; pty2:=430;
                     ptx3:=540; pty3:=313; ptx4:=400; pty4:=430;
                     axex:=470; axey:=371;
                end;
               end;


end;

procedure ronds; (*permet de dessiner des ronds de couleurs differentes a
 differents endroit sur l'ecran.Il repetera l'operation 50 fois pour un
 total de 100 cercles.*)
begin
delay(1000);
for a:=1 to 50 do
    begin
         randomize;
         n:=random(14);
         cx:=random(200)+20;
         cy:=random(500);
         r:=random(200)+450;
         h:=random(500);
         setfillstyle(1,n);
         fillellipse(cx,cy,20,20);
         fillellipse(r,h,20,20);
         delay(1);
    end;
end;

procedure collier;(*dessin d'un collier pour les medailles*)
begin
     setcolor(black);
     setlinestyle(1,$c3,3);
     setfillstyle(1,blue);
     fillellipse(325,100,150,200);
     setfillstyle(1,white);
     fillellipse(325,100,100,150);
end;

procedure medx; (*dessin du pendantif pour la medaille en forme de 'x' de
 la couleur jaune*)
     begin
          setcolor(yellow);
          line(300,300,350,400);
          line(300,298,350,398);
          line(300,296,350,396);
          line(300,294,350,394);
          line(300,292,350,392);
          line(300,290,350,390);
          line(300,301,350,401);
          line(300,302,350,402);
          line(300,303,350,403);
          line(300,304,350,404);
          line(300,304,350,405);
          line(300,400,350,300);
          line(300,398,350,298);
          line(300,396,350,296);
          line(300,394,350,294);
          line(300,392,350,292);
          line(300,390,350,290);
          line(300,401,350,301);
          line(300,402,350,302);
          line(300,403,350,303);
          line(300,404,350,304);
          line(300,405,350,305);
          setcolor(white);
          bar(322,295,327,315);

end;

procedure medo;(*dessin du pendantif pour la medaille en forme de cercle
 jaune.*)
begin
     setcolor(yellow);
     setfillstyle(1,yellow);
     fillellipse(325,350,50,50);
     setfillstyle(1,white);
     fillellipse(325,350,25,25);
     setcolor(white);
     bar(322,295,327,315);
end;

procedure medn;(*dessin du pendantif pour la medaille qui apparaitera
 lorsque que la partie sera nulle. C'est un cercle contenant un 'x'(dessin
 utilise pour la medaille du 'x' seulement).*)
begin
     setcolor(yellow);
     circle(325,350,50);
     circle(325,350,48);
     circle(325,350,46);
     circle(325,350,52);
     circle(325,350,44);
     circle(325,350,54);
     circle(325,350,56);
     medx;

end;

procedure musiquevic;(*Petite musique rappelant celle du jeu video Zelda
 lorsque link gagne un nouvel objet. Elle serta joue seulement lorsque la
 partie sera finie*)
begin
          sound(131);
          delay(200);
          sound(147);
          delay(200);
          sound(165);
          delay(200);
          sound(176);
          delay(1500);
          nosound;
end;

procedure dessinmed;(*procedure permettant de choisir qu'elle medaille
 apparaitera lorsque la partie sera finie.*)
begin
     if victoire= 1 then (*si victoire=1, cela veut dire que les 'x' ont
      gagnes*)
     begin
          collier;
          medx;
          musiquevic;
          delay(1000);
          setcolor(red);
          settextstyle(1,0,5);
          fin;
     end
     else
     if victoire=2 then (*si victoire=2, cela veut dire que les 'o' ont
      gagne.*)
     begin
          collier;
          medo;
          musiquevic;
          delay(1000);
          setcolor(red);
          settextstyle(1,0,5);
          fin;
     end
     else if  victoire=0 then  (*si victoire=0, cela veut dire que la partie
      est nulle.*)
     begin
          collier;
          medn;
          musiquevic;
          delay(1000);
          setcolor(red);
          settextstyle(1,0,5);
          fin;
     end;

end;

procedure ligne;
begin
     setlinestyle(0,$c3,3);
     setcolor(blue);
     line(lx1,ly1,lx2,ly2);
end;

procedure scanvictoire;(*permet de determiner a chaque tour joue si il y a
 un tic-tac-toe.(Si une colonne, une ligne ou une diagonale possede 3 formes
 identiques.) Puis, il accorde a la variable victoire, le chiffre
 correspondant au joueur qui vient de jouer, puisque c'est necessairement
 lui qui aura joue un jeton qui creera un tic-tac-toe.Si il n'y a pas de
 tic-tac-toe, victoire=0 et donc cela est associe a une partie nulle.*)
begin

    if (ttt[1,1]=ttt[1,2]) and (ttt[1,2]=ttt[1,3]) and (ttt[1,3]=pl) then
    begin
        victoire:=pl;
        lx1:=170; ly1:=50; lx2:=170; ly2:=430;
        ligne;

    end

    else if (ttt[2,1]=ttt[2,2]) and (ttt[2,2]=ttt[2,3]) and (ttt[2,3]=pl) then
    begin
         victoire:=pl;
         lx1:=330; ly1:=50; lx2:=330; ly2:=430;
         ligne;
    end

    else if (ttt[3,1]=ttt[3,2]) and (ttt[3,2]=ttt[3,3]) and (ttt[3,3]=pl) then
    begin
         victoire:=pl;
         lx1:=470; ly1:=50; lx2:=470; ly2:=430;
         ligne;
    end
    else if (ttt[1,1]=ttt[2,1]) and (ttt[2,1]=ttt[3,1]) and (ttt[3,1]=pl) then
    begin
         victoire:=pl;
         lx1:=100; ly1:=120; lx2:=540; ly2:=120;
         ligne;
    end

    else if (ttt[1,2]=ttt[2,2]) and (ttt[2,2]=ttt[3,2]) and (ttt[3,2]=pl) then
    begin
         victoire:=pl;
         lx1:=100; ly1:=230; lx2:=540; ly2:=230;
         ligne;
    end
    else if (ttt[1,3]=ttt[2,3]) and (ttt[2,3]=ttt[3,3]) and (ttt[3,3]=pl) then
    begin
         victoire:=pl;
         lx1:=100; ly1:=360; lx2:=540; ly2:=360;
         ligne;
    end

     else if (ttt[1,1]=ttt[2,2]) and (ttt[3,3]=ttt[2,2]) and (ttt[3,3]=pl) then
    begin
         victoire:=pl;
         lx1:=100; ly1:=50; lx2:=540; ly2:=430;
         ligne;
    end

     else if (ttt[3,1]=ttt[2,2]) and (ttt[2,2]=ttt[1,3]) and (ttt[1,3]=pl) then
    begin
         victoire:=pl;
         lx1:=540; ly1:=50; lx2:=100; ly2:=430;
         ligne;
    end

     else if tour=9 then
         victoire:=0;


end;

procedure couleur;(*permet aux joueurs de choisir la couleur de leur jeton.*)
begin
     pilote:=detect;
     initgraph(pilote,mode,'m:/bgi');
     setbkcolor(lightblue);
     outtextxy(5,5,'Choisissez la couleur pour les x');
     outtextxy(5,40,'1=bleu');
     outtextxy(5,80,'2=rouge');
     outtextxy(5,120,'3=mauve');

repeat
      col:=readkey; (*couleur pour le jeton 'x'*)

      if col='1' then
         colx:=1;
      if col='2' then
         colx:=4;
      if col='3' then
         colx:=5;

until (col='1') or (col='2') or (col='3') ;(*si le joueur selectionne autre
 chose qui n'est pas dans les choix, il devra rechoisir une couleur, jusqu'a
 ce que la touche selectionnee soit dans les choix.*)

cleardevice;
            setbkcolor(13);
            outtextxy(5,5,'Choisissez la couleur pour les o');
            outtextxy(5,40,'1=rouge clair');
            outtextxy(5,80,'2=cyan');
            outtextxy(5,120,'3=jaune');

repeat
      col:=readkey;(*couleur du jeton 'o'*)

      if col='1' then
         coly:=12;
      if col='2' then
         coly:=3;
      if col='3' then
         coly:=14;
until (col='1') or (col='2') or (col='3');(*si le joueur selectionne autre
 chose qui n'est pas dans les choix, il devra rechoisir une couleur, jusqu'a
 ce que la touche selectionnee soit dans les choix.*)

end;


procedure shape; (*permet au joueur 1 de choisir la forme de son jeton*)
begin
     pilote:=detect;
     initgraph(pilote,mode,'m:/bgi');
     setbkcolor(10);
     settextstyle(0,0,1);
     setcolor(blue);
     outtextxy(5,5,'Joueur 1 choisissez votre jeton (X/O)');
     outtextxy(5,50,'Pesez sur la touche x pour choisir les X');
     outtextxy(5,75,'Pesez sur la touche o pour choisir les O');
     settextstyle(0,0,1);
     outtextxy(5,150,'Le joueur 1 debutera ');
     outtextxy(5,175,'peu importe la forme de son jeton');
repeat
     cf:=upcase(readkey);

     if cf='X' then (*il a choisi le jeton en forme de 'x'*)
        begin
          pl:=1;
          point:=pl;
        end

     else if cf='O' then (*il a choisi le jeton en forme de 'o'*)
          begin
          pl:=2;
          point:=pl;
          end


until (cf='X') or (cf='O');(*il ne pourra continuer plus loin dans le
 programme tant que la touche choisi ne correspond pas a un choix.*)

end;

procedure trophee; (*dessin d'un trophee*)
begin

     pilote:=detect;
     initgraph(pilote,mode,'m:/bgi');
     setlinestyle(0, $c3, 3);
     setcolor(yellow);
     setfillstyle(1,yellow);
     fillellipse(170,160,70,60);
     bar(100,50,240,160);
     line(80,70, 80,180);
     arc(90,70, 0,180,10);
     arc(100,180,180,360,20);
     line(260, 70,260,180);
     arc(250, 70 ,0, 180,10);
     arc(240, 180, 180,360,20);
     fillellipse(170, 235, 15,15);
     line(155, 235,190 ,290);
     line(185, 235, 150, 290);
     fillellipse(170,290,20,20);
     bar(140,310,200,330);
     bar( 100, 330, 240, 350);
     bar(70, 350, 270, 370);

     setlinestyle(0,$c3, 1);
     setcolor(blue);
     line(500,0,500,600);
     line(510,0,630,120);
     line(630,0,510,120);
     circle(568,180,60);
     line(510,240,630,360);
     line(630,240,510,360);
     circle(568,420,60);

     setcolor(white);
     line(498,0,498,600);
     line(505,0,625,120);
     line(625,0,505,120);
     circle(568,180,58);
     line(505,240,625,363);
     line(625,240,505,360);
     circle(568,420,58);

     setcolor(red);
     line(503,0,503,600);
     line(515,0,635,120);
     line(635,0,515,120);
     circle(568,180,55);
     line(515,240,635,360);
     line(635,240,515,360);
     circle(568,420,55);
end;

procedure lostwoods; (*musique du jeu video Zelda 'Lost Woods'*)
begin
     sound(349);
     delay(200);
     sound(440);
     delay(200);
     sound(494);
     delay(400);
     sound(349);
     delay(200);
     sound(440);
     delay(200);
     sound(494);
     delay(400);
     sound(349);
     delay(200);
     sound(440);
     delay(200);
     sound(494);
     delay(200);
     sound(659);
     delay(200);
     sound(587);
     delay(400);
     sound(494);
     delay(200);
     sound(523);
     delay(200);
     sound(494);
     delay(200);
     sound(392);
     delay(200);
     sound(330);
     delay(600);

     sound(294);
     delay(200);
     sound(330);
     delay(200);
     sound(392);
     delay(200);
     sound(330);
     delay(600);

     nosound;

end;



begin(*programme principal*)
     clrscr;
     nosound;
     grilledebut;

     clrscr;
     shape;
     couleur;
     joueur1:=0;
     joueur2:=0;

repeat
     departgrille;
     grille;
     victoire:=0;
     pl:=point;
     sortie:=0;
     tour:=0;
     repeat
           begin
                repeat (*repete ses procedures tant qu'une case vide n'a pas
                 ete selectionnee*)
                      choix;
                      ttt[x,y]:=pl;
                      forme;
                      scanvictoire;
                until sortie=1;

(*cela permet de ne pas creer de confusion a chaque changement de tour
 (changement de jeton).*)
           ptx1:=0; pty1:=0; ptx2:=0; pty2:=0;
           ptx3:=0; pty3:=0; ptx4:=0; pty4:=0;
           axex:=1-100; axey:=-100;
           pl:=3-pl;
           tour:=tour+1;
           end;
     until (victoire=1) or (victoire=2) or (tour=9); (*le processus sera
      repete tant qu'il n'y a pas de tic-tac-toe ou que les cases ne sont
      pas toutes pleines*)

     settextstyle(1,4,5);
     Outtextxy(50,100,'Pesez sur enter');
     readln;
     cleardevice;
     setbkcolor(black);
     ronds;
     dessinmed;

     cleardevice;
     settextstyle(4,0,5);
     outtextxy(50,200,'Voulez-vous rejouer (N/O)');
     reponse:=upcase(readkey);

until reponse='N';(*le jeu recommencera tant et aussi longtemps que le
 joueur ne pese pas sur la touche 'n'*)


(*permet d'afficher le pointage final de toutes les parties gagnees par
 chaque joueur*)
     V1:='                        ';
     str(joueur1,V1);
     V2:='             ';
     str(joueur2,V2);


begin (*Permet de determiner quel joueur a gagne le plus de partie. Ce
 dernier se meritera un trophee a son nom.*)
     if joueur1>joueur2 then (*dessin d'un trophe et la gravure associe
      au gagnant (joueur1)*)
        begin
             trophee;
             settextstyle(4,0,2);
             setcolor(red);
             Outtextxy(130,75,'Champion');
             Outtextxy(155,125,n1);
             lostwoods;
             settextstyle(4,0,4);
             Outtextxy(300,200,n1);
             outtextxy(400,200,V1);
             outtextxy(300,300,n2);
             outtextxy(400,300,V2);
             readln;
        end
     (*dessin du trophee et la gravure associee au gagnant (joueur 2)*)
     else if joueur1<joueur2 then
          begin
               trophee;
               settextstyle(4,0,2);
               setcolor(red);
               Outtextxy(130,75,'Champion');
               Outtextxy(155,125,n2);
               lostwoods;
               settextstyle(4,0,4);
               Outtextxy(300,200,n1);
               outtextxy(400,200,V1);
               outtextxy(300,300,n2);
               outtextxy(400,300,V2);
               readln;
          end
     else
     begin(*dessin du trophee et la gravure associee a une partie nulle*)
          trophee;
          settextstyle(4,0,3);
          setcolor(red);
          Outtextxy(145,75,'XOX');
          lostwoods;
          settextstyle(4,0,4);
          Outtextxy(300,200,n1);
          outtextxy(400,200,V1);
          outtextxy(300,300,n2);
          outtextxy(400,300,V2);
          readln;
     end;

end;

end.