program tp3; uses crt,graph; var x,y,r,s,t,v,w,q,p,h : integer; var j,a,b,qstring,pstring: string; procedure fin; {pour voir la fin les reponses sont : d,d,c,b,d} begin cleardevice; settextstyle(2,0,5); setcolor(1); outtextxy(100,300,'Voulez vous rejouer? O/N'); B:=readkey; end; procedure boom ; begin setbkcolor(white); setfillstyle(9,red); bar(0,0,640,200); {rectangle de separation} setfillstyle(1,blue); bar(10,10,100,50); {rectangle de pointage} setfillstyle(1,yellow); bar(10,210,630,250); {rectangle d'indice} setfillstyle(1,darkgray); bar(120,20,630,190); {rectangle bombe} setfillstyle(1,white); fillellipse(140,40,10,10); {bouton} setfillstyle(1,brown); fillellipse(140,80,10,10); {bouton} setfillstyle(1,red); fillellipse(140,120,10,10); {bouton} setfillstyle(1,blue); fillellipse(140,160,10,10); {bouton} setfillstyle(1,lightgray); bar(180,30,600,180); {decompte} r:=400 ; t:=100; v:=400 ; w:=100; s:=90; repeat s:=s+10; r:=r+50; t:=t+20; v:=v-50; w:=w-30; setfillstyle(1,red); delay(100); fillellipse(r,t,s,s); delay(120); fillellipse(v,w,s,s); fillellipse(r,w,s,s); delay(140); fillellipse(v,t,s,s); fillellipse(400,w,s,s); fillellipse(400,t,s,s); until r=700; setcolor(1); settextstyle(0,0,15); outtextxy(100,100,'BOOM!'); delay(3000); sound(50); delay(150); sound(120); delay(150); sound(50); delay(5000); nosound; fin; end; procedure vie; begin sound(600); delay(150); nosound; delay(50); sound(400); delay(300); nosound; setcolor(12); if q>0 then begin dec(q); setbkcolor(white); setfillstyle(1,darkgray); bar(120,20,630,190); {rectangle bombe} setfillstyle(1,white); fillellipse(140,40,10,10); {bouton} setfillstyle(1,brown); fillellipse(140,80,10,10); {bouton} setfillstyle(1,red); fillellipse(140,120,10,10); {bouton} setfillstyle(1,blue); fillellipse(140,160,10,10); {bouton} setfillstyle(1,lightgray); bar(180,30,600,180); {decompte} setfillstyle(1,lightgray); bar(180,30,600,180); settextstyle(0,0,8); str(q,qstring); outtextxy(210,75,qstring); end else boom; end; procedure point ; begin sound(400); delay(150); nosound; delay(50); sound(600); delay(300); nosound; setcolor(14); inc(p,1); setbkcolor(white); setfillstyle(1,blue); bar(10,10,100,50); {rectangle de pointage} settextstyle(0,0,3); str(p,pstring); outtextxy(30,20,pstring); end; procedure boite; begin setbkcolor(white); setfillstyle(9,red); bar(0,0,640,200); {rectangle de separation} setfillstyle(1,blue); bar(10,10,100,50); {rectangle de pointage} setfillstyle(1,yellow); bar(10,210,630,250); {rectangle d'indice} setfillstyle(1,darkgray); bar(120,20,630,190); {rectangle bombe} setfillstyle(1,white); fillellipse(140,40,10,10); {bouton} setfillstyle(1,brown); fillellipse(140,80,10,10); {bouton} setfillstyle(1,red); fillellipse(140,120,10,10); {bouton} setfillstyle(1,blue); fillellipse(140,160,10,10); {bouton} setfillstyle(1,lightgray); bar(180,30,600,180); {decompte} setcolor(14); settextstyle(0,0,3); outtextxy(30,20,pstring); setcolor(12); settextstyle(0,0,8); outtextxy(210,75,qstring); end; procedure q5; begin cleardevice; boite; settextstyle(0,0,0); setcolor(darkgray); outtextxy(50,220,'En terme de population, Bordeau detient quel rang en France?'); outtextxy(100,340,'a) cinquieme'); outtextxy(450,340,'b) sixieme'); outtextxy(100,400,'c) septieme'); outtextxy(450,400,'d) neuvieme'); end; procedure q4; begin cleardevice; boite; settextstyle(0,0,0); setcolor(darkgray); outtextxy(50,220,'Quel est l''element toujours present dans un organisme vivant?'); outtextxy(100,340,'a) hydrogene'); outtextxy(450,340,'b) carbone'); outtextxy(100,400,'c) oxygene'); outtextxy(450,400,'d) or'); end; procedure q3; begin cleardevice; boite; settextstyle(0,0,0); setcolor(darkgray); outtextxy(50,220,'En quelle annee l''homme a marcher sur la lune?'); outtextxy(100,340,'a) 1966 '); outtextxy(450,340,'b) 1967'); outtextxy(100,400,'c) 1969'); outtextxy(450,400,'d) 1970'); end; procedure q2; begin cleardevice; boite; settextstyle(0,0,0); setcolor(darkgray); outtextxy(50,220,'Quel film n''a pas gagner l''oscar du meilleur film?'); outtextxy(100,340,'a) La liste de Schindler'); outtextxy(450,340,'b) Titanic'); outtextxy(100,400,'c) Braveheart'); outtextxy(450,400,'d) Fight Club '); end; procedure q1; begin q:=4 ; p:=0; boite; settextstyle(0,0,0); setcolor(darkgray); outtextxy(50,220,'Les crabes des cocotiers?'); outtextxy(100,340,'a) Mesurent un metre'); outtextxy(350,340,'b) Peuvent briser des noix de cocos'); outtextxy(100,400,'c) Grimpent au arbres'); outtextxy(350,400,'d) Toutes ses reponses'); end; procedure choix5; begin repeat A:=upcase(readkey); if (A='A') then begin vie;q5;end; if (A='B') then begin vie;q5;end; if (A='C') then begin vie;q5;end; until (A='D'); point;fin; end; procedure choix4; begin repeat A:=upcase(readkey); if (A='A') then begin vie;q4;end; if (A='C') then begin vie;q4;end; if (A='D') then begin vie;q4;end; until (A='B'); point;q5;choix5; end; procedure choix3; begin repeat A:=upcase(readkey); if (A='A') then begin vie;q3;end; if (A='B') then begin vie;q3;end; if (A='D') then begin vie;q3;end; until (A='C'); point;q4;choix4; end; procedure choix2; begin repeat A:=upcase(readkey); if (A='A') then begin vie;q2;end; if (A='B') then begin vie;q2;end; if (A='C') then begin vie;q2;end; until(A='D'); point;q3;choix3; end; procedure choix1; begin repeat A:=upcase(readkey); if (A='A') then begin vie;q1;end; if (A='B') then begin vie;q1;end; if (A='C') then begin vie;q1;end; until(A='D'); point;q2;choix2; end; begin clrscr; gotoxy(25,25); write('quel est votre nom '); readln(j); clrscr; gotoxy(20,30); writeln('Bonjour ',j, '!'); delay(2000); gotoxy(25,25); writeln('bienvenue au jeu de la bombe'); delay(3000); clrscr; gotoxy(10,10); write('le moment venue,'); gotoxy(11,11); write('vous allez devoir appuyer sur la lettre'); gotoxy(12,12); write('avec le choix de reponse choisi!'); gotoxy(13,13); write('si la bonne reponse est choisi, vous allez recevoir un point et'); gotoxy(12,14); write('passer a la prochaine question'); gotoxy(11,15); write('si la mauvaise reponse est choisie, vous allez perdre une vie'); gotoxy(10,16); write('et vous allez devoir reessayer jusqu''a temps'); gotoxy(11,17); write('que la bonne reponse est trouve'); gotoxy(1,19); write('ATTENTION, vous ne pourrez pas quitter le jeu tant que vous ne reussisez pas les 5 questions'); gotoxy(20,24); write('Appuyez deux fois sur Entree pour jouer!'); readln; x:=detect; initgraph(x,y,'m:/bgi'); repeat q:=4; p:=0; A:=upcase(readkey); q1; choix1; until (B='n');end.