DECLARE SUB ChargGraphDes () DECLARE SUB CombienDeJoueur () DECLARE SUB InscriptionJoueur () DECLARE SUB JFondEcran5000 () DECLARE SUB LanceDes () DECLARE SUB WCalcul () DECLARE SUB XJoueur () DECLARE SUB YDepassement5000 () DECLARE SUB ZBravo5000Juste () SCREEN 9 CLS DIM Des1(408), Des2(408), Des3(408) DIM Des4(408), Des5(408), Des6(408) DIM Nom1(130), Nom2(130), Nom3(130), Nom4(130) DIM Nom5(130), Nom6(130), Nom7(130), Nom8(130) DIM EffDes1(440), EffDes2(440), EffDes3(440) ChargGraphDes CombienDeJoueur InscriptionJoueur '--------------------------------------------------- L = 0: M = 0 GET (200 - L, 295 + M)-(262 - L, 349 + M), EffDes1 GET (300, 245 + M)-(362, 299 + M), EffDes2 GET (400 + L, 295 + M)-(462 + L, 349 + M), EffDes3 '---------------------------------< D E B U T >--- Taux = 0: Total = 0: Tals = 0: NJ = N: N = 1 COD$ = "P E R D U": Compt = 0: Game$ = "OFF": U$ = "OFF" Score1 = 0: Score2 = 0: Score3 = 0: Score4 = 0 Score5 = 0: Score6 = 0: Score7 = 0: Score8 = 0 RANDOMIZE TIMER DO D1 = 0: D2 = 0: D3 = 0 D1 = INT(RND * 6) + 1 D2 = INT(RND * 6) + 1 D3 = INT(RND * 6) + 1 LOCATE 1, 37: PRINT D1; D2; D3 IF Game$ = "ON" THEN IF D1 <> 0 THEN LanceDes WCalcul XJoueur LOCATE 11, 37: PRINT USING " #### "; Taux LOCATE 12, 37: PRINT USING "+ #### "; Total IF Tals <> 0 THEN LOCATE 14, 37: PRINT USING " #### "; Tals ZBravo5000Juste YDepassement5000 IF Total = 0 THEN Taux = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$ IF N = 1 THEN LOCATE 16, 22: PRINT USING "####"; Score1 IF N = 2 THEN LOCATE 18, 22: PRINT USING "####"; Score2 IF N = 3 THEN LOCATE 20, 22: PRINT USING "####"; Score3 IF N = 4 THEN LOCATE 22, 22: PRINT USING "####"; Score4 IF N = 5 THEN LOCATE 16, 57: PRINT USING "####"; Score5 IF N = 6 THEN LOCATE 18, 57: PRINT USING "####"; Score6 IF N = 7 THEN LOCATE 20, 57: PRINT USING "####"; Score7 IF N = 8 THEN LOCATE 22, 57: PRINT USING "####"; Score8 COLOR 15 N = N + 1 IF N > NJ THEN N = 1 END IF END IF U$ = "OFF" DO A$ = INKEY$ IF A$ = CHR$(27) THEN END IF A$ = CHR$(13) THEN Game$ = "ON": U$ = "ON" IF A$ = CHR$(32) AND (D1 <> D2 OR D1 <> D3) THEN IF N = 1 THEN Score1 = Score1 + Tals: LOCATE 16, 22: PRINT USING "####"; Score1 IF N = 2 THEN Score2 = Score2 + Tals: LOCATE 18, 22: PRINT USING "####"; Score2 IF N = 3 THEN Score3 = Score3 + Tals: LOCATE 20, 22: PRINT USING "####"; Score3 IF N = 4 THEN Score4 = Score4 + Tals: LOCATE 22, 22: PRINT USING "####"; Score4 IF N = 5 THEN Score5 = Score5 + Tals: LOCATE 16, 57: PRINT USING "####"; Score5 IF N = 6 THEN Score6 = Score6 + Tals: LOCATE 18, 57: PRINT USING "####"; Score6 IF N = 7 THEN Score7 = Score7 + Tals: LOCATE 20, 57: PRINT USING "####"; Score7 IF N = 8 THEN Score8 = Score8 + Tals: LOCATE 22, 57: PRINT USING "####"; Score8 Taux = 0: Total = 0: Tals = 0 N = N + 1 IF N > NJ THEN N = 1 U$ = "ON" END IF LOOP WHILE U$ = "OFF" B$ = INKEY$ c$ = INKEY$ PUT (200 - L, 295 + M), EffDes1, PSET PUT (300, 245 + M), EffDes2, PSET PUT (400 + L, 295 + M), EffDes3, PSET LOOP END '*** FIN *** SUB ChargGraphDes SHARED Des1(), Des2(), Des3(), Des4(), Des5(), Des6() Choix = 1: Des = 0 Ici: CLS '*** Creation du Fond-ecran Vert+Points *** LINE (0, 0)-(640, 350), 2, BF FOR T = 0 TO 10000 STEP 1 x = INT(RND * 640) + 1 y = INT(RND * 480) + 1 Z = INT(RND * 3) IF POINT(x, y) <> 15 THEN IF Z = 0 THEN PSET (x, y), 10 IF Z = 1 THEN PSET (x, y), 7 IF Z = 2 THEN PSET (x, y), 8 IF Z = 3 THEN PSET (x, y), 0 END IF NEXT '*** Creation du Des *** D = 100 cl = 7 LINE (195, 100)-(245, 140), 15, BF FOR y = 2 TO 9 STEP 2 IF y = 9 THEN yy = 1: c = -8 LINE (196 + y + yy, 140 + y)-(243 + y - yy, 140 + y), 7 LINE (197 + y + yy, 141 + y)-(244 + y - yy, 141 + y), 7 + c PSET (195 + y + yy, 140 + y), cl: PSET (244 + y - yy, 140 + y), cl LINE (245 + y, 101 + y + yy)-(245 + y, 138 + y - yy), 7 LINE (246 + y, 102 + y + yy)-(246 + y, 139 + y - yy), 8 + c PSET (245 + y, 101 + y + yy), cl: PSET (245 + y, 139 + y - yy), cl NEXT y LINE (196, 141)-(245, 141), cl LINE (246, 102)-(246, 141), cl LINE (245, 140)-(254, 149), cl: LINE (247, 142)-(252, 146), cl PSET (195, 100), 2: PSET (245, 100), 2 PSET (195, 140), 2: PSET (245, 140), cl PSET (254, 149), 2 '*** Coloration du Des *** FOR x = 192 TO 359 STEP 2 FOR y = 95 TO 153 STEP 2 ca = POINT(x, y) cb = POINT(x + 1, y + 1) IF ca = 15 THEN PSET (x, y), 14 IF ca = 7 THEN PSET (x, y), 14 IF cb = 15 THEN PSET (x + 1, y + 1), 14 IF cb = 7 THEN PSET (x + 1, y + 1), 14 NEXT: NEXT '*** Marquage des points sur chaque Des. *** IF Choix = 1 THEN Des = Des + 1 CIRCLE (220, 120), 7, 0: PAINT (220, 120), 8, 0 GET (195, 100)-(254, 149), Des1 Choix = 2: Des = 0 GOTO Ici: END IF IF Choix = 2 THEN Des = Des + 1 CIRCLE (236, 107), 7, 0: PAINT (236, 107), 8, 0'haut droit CIRCLE (204, 133), 7, 0: PAINT (204, 133), 8, 0'bas gauche GET (195, 100)-(254, 149), Des2 Choix = 3: Des = 0 GOTO Ici: END IF IF Choix = 3 THEN Des = Des + 1 CIRCLE (204, 107), 7, 0: PAINT (204, 107), 8, 0'haut gauche CIRCLE (220, 120), 7, 0: PAINT (220, 120), 8, 0'Centre Milieu CIRCLE (236, 133), 7, 0: PAINT (236, 133), 8, 0'bas droit GET (195, 100)-(254, 149), Des3 Choix = 4: Des = 0 GOTO Ici: END IF IF Choix = 4 THEN Des = Des + 1 CIRCLE (204, 107), 7, 0: PAINT (204, 107), 8, 0'haut gauche CIRCLE (236, 107), 7, 0: PAINT (236, 107), 8, 0'haut droit CIRCLE (204, 133), 7, 0: PAINT (204, 133), 8, 0'bas gauche CIRCLE (236, 133), 7, 0: PAINT (236, 133), 8, 0'bas droit GET (195, 100)-(254, 149), Des4 Choix = 5: Des = 0 GOTO Ici: END IF IF Choix = 5 THEN Des = Des + 1 CIRCLE (204, 107), 7, 0: PAINT (204, 107), 8, 0'haut gauche CIRCLE (236, 107), 7, 0: PAINT (236, 107), 8, 0'haut droit CIRCLE (220, 120), 7, 0: PAINT (220, 120), 8, 0'Centre Milieu CIRCLE (204, 133), 7, 0: PAINT (204, 133), 8, 0'bas gauche CIRCLE (236, 133), 7, 0: PAINT (236, 133), 8, 0'bas droit GET (195, 100)-(254, 149), Des5 Choix = 6: Des = 0 GOTO Ici: END IF IF Choix = 6 THEN Des = Des + 1 CIRCLE (204, 107), 7, 0: PAINT (204, 107), 8, 0'haut gauche CIRCLE (220, 107), 7, 0: PAINT (220, 107), 8, 0'haut centre CIRCLE (236, 107), 7, 0: PAINT (236, 107), 8, 0'haut droit CIRCLE (204, 133), 7, 0: PAINT (204, 133), 8, 0'bas gauche CIRCLE (220, 133), 7, 0: PAINT (220, 133), 8, 0'bas centre CIRCLE (236, 133), 7, 0: PAINT (236, 133), 8, 0'bas droit GET (195, 100)-(254, 149), Des6 CLS PUT (10, 10), Des1, PSET: PUT (80, 10), Des2, PSET PUT (150, 10), Des3, PSET: PUT (220, 10), Des4, PSET PUT (290, 10), Des5, PSET: PUT (360, 10), Des6, PSET END IF END SUB SUB CombienDeJoueur SHARED NJ CLS LOCATE 4, 20: PRINT "Nombre de Joueur: " LOCATE 5, 20: PRINT "Confirmer avec la touche [ENTER]" x = 0 DO DO Choix$ = INKEY$ IF Oo = 0 THEN O = 45 IF Oo = 10000 THEN O = 95 IF Oo > 20000 THEN Oo = -20 LOCATE 4, 38 + x: PRINT CHR$(O) Oo = Oo + 1 LOOP WHILE Choix$ = "" IF LEN(Choix$) = 1 THEN SELECT CASE ASC(Choix$) CASE 13 EXIT DO CASE 27 END CASE 49 TO 56 LOCATE 4, 20: PRINT "Nombre de Joueur: "; Choix$ J = ASC(Choix$) x = 1 CASE ELSE Choix$ = "" END SELECT END IF LOOP NJ = J - 48 END SUB SUB InscriptionJoueur SHARED N, NJ SHARED Nom1(), Nom2(), Nom3(), Nom4(), Nom5(), Nom6(), Nom7(), Nom8() N = NJ FOR Nom = 1 TO N LOCATE 5 + Nom, 20: PRINT "Inscrire le nom du joueur #"; Nom; ": ........" Car = 0 DO A$ = INKEY$ IF A$ = CHR$(27) THEN END IF A$ = CHR$(13) THEN LOCATE 5 + Nom, 52 + Car: PRINT STRING$(8 - Car, 46); : EXIT DO IF A$ = CHR$(32) THEN Car = Car + 1 IF Car > 8 THEN Car = 8 LOCATE 5 + Nom, 52 + Car: A$ = "" END IF IF A$ = CHR$(8) THEN Car = Car - 1 IF Car < 0 THEN Car = 0 LOCATE 5 + Nom, 52 + Car: PRINT ".": A$ = "" END IF IF A$ <> "" AND Car < 8 THEN Car = Car + 1 LOCATE 5 + Nom, 51 + Car: PRINT UCASE$(A$); END IF LOOP NEXT FOR x = 404 TO 472 STEP 1: FOR y = 69 TO 182 IF POINT(x, y) = 0 THEN PSET (x, y), 9 NEXT: NEXT FOR x = 404 TO 472: FOR y = 69 TO 182 IF POINT(x, y) = 15 THEN PSET (x - 2, y - 2), 15: PSET (x - 1, y - 1), 8: PSET (x, y), 0 NEXT: NEXT GET (404, 69)-(472, 82), Nom1: GET (404, 83)-(472, 96), Nom2 GET (404, 97)-(472, 110), Nom3: GET (404, 111)-(472, 124), Nom4 GET (404, 125)-(472, 138), Nom5: GET (404, 139)-(472, 152), Nom6 GET (404, 153)-(472, 166), Nom7: GET (404, 167)-(472, 180), Nom8 JFondEcran5000 ' Afficher le Fond Ecran avec les Joueurs r`ajouter. PUT (44, 210), Nom1, PSET: PUT (44, 238), Nom2, PSET PUT (44, 266), Nom3, PSET: PUT (44, 294), Nom4, PSET PUT (532, 210), Nom5, PSET: PUT (532, 238), Nom6, PSET PUT (532, 266), Nom7, PSET: PUT (532, 294), Nom8, PSET END SUB SUB JFondEcran5000 '*** Affichage du Fond-ecran en Vert+points *** LINE (0, 0)-(639, 349), 2, B LINE (2, 2)-(637, 347), 2, BF FOR T = 0 TO 10000 STEP 1 x = 1 + INT(RND * 636) + 1 y = 1 + INT(RND * 346) + 1 Z = INT(RND * 3) IF POINT(x, y) <> 15 THEN IF Z = 0 THEN PSET (x, y), 10 IF Z = 1 THEN PSET (x, y), 7 IF Z = 2 THEN PSET (x, y), 8 IF Z = 3 THEN PSET (x, y), 0 END IF NEXT LINE (2, 2)-(637, 347), 2, B '*** Affichage des descriptifs des points *** COLOR 4 LOCATE 2, 4: PRINT "Nombre 1 = 100" LOCATE 3, 4: PRINT "Nombre 2 = 0" LOCATE 4, 4: PRINT "Nombre 3 = 0" LOCATE 5, 4: PRINT "Nombre 4 = 0" LOCATE 6, 4: PRINT "Nombre 5 = 50" LOCATE 7, 4: PRINT "Nombre 6 = 0" LOCATE 2, 64: PRINT "Triple 1 =1000" LOCATE 3, 64: PRINT "Triple 2 = 200" LOCATE 4, 64: PRINT "Triple 3 = 300" LOCATE 5, 64: PRINT "Triple 4 = 400" LOCATE 6, 64: PRINT "Triple 5 = 500" LOCATE 7, 64: PRINT "Triple 6 = 600" FOR x = 24 TO 135 FOR y = 14 TO 98 IF POINT(x, y) = 0 THEN PSET (x, y), 2 IF POINT(x, y) = 4 THEN PSET (x, y), 0: PSET (x - 1, y - 1), 15 IF POINT(480 + x, y) = 0 THEN PSET (480 + x, y), 2 IF POINT(480 + x, y) = 4 THEN PSET (480 + x, y), 0: PSET (480 + x - 1, y - 1), 15 END IF NEXT y: NEXT x FOR T = 0 TO 500 STEP 1 x = 24 + INT(RND * 111) + 1 y = 14 + INT(RND * 84) + 1 Z = INT(RND * 3) IF POINT(x, y) <> 15 AND POINT(x, y) <> 0 THEN IF Z = 0 THEN PSET (x, y), 10 IF Z = 1 THEN PSET (x, y), 7 IF Z = 2 THEN PSET (x, y), 8 IF Z = 3 THEN PSET (x, y), 0 END IF IF POINT(480 + x, y) <> 15 AND POINT(480 + x, y) <> 0 THEN IF Z = 0 THEN PSET (480 + x, y), 10 IF Z = 1 THEN PSET (480 + x, y), 7 IF Z = 2 THEN PSET (480 + x, y), 8 IF Z = 3 THEN PSET (480 + x, y), 0 END IF NEXT '*** Affiche les 3 resultat des Des en haut au centre.*** COLOR 15 LINE (285, 2)-(362, 16), 2, B LINE (286, 2)-(361, 15), 0, B LINE (287, 0)-(360, 14), 2, B LOCATE 1, 37: PRINT " 0 0 0 " LINE (263, 103)-(389, 207), 0, BF LINE (262, 102)-(388, 206), 0, BF LINE (261, 101)-(387, 205), 7, BF LINE (261, 101)-(387, 205), 0, B LOCATE 11, 37: PRINT " 5 O O O " Z = 0: zz = 0 FOR x = 295 TO 350 Z = Z + 5: zz = 0 FOR y = 141 TO 152 IF POINT(x, y) = 15 THEN FOR r = 0 TO 10 CIRCLE (-149 + x + Z + r, -110 + y + zz + r), 4, 0 NEXT r CIRCLE (-149 + x + Z, -110 + y + zz), 2, 14 PSET (-149 + x + Z, -110 + y + zz), 15 PSET (-148 + x + Z, -109 + y + zz), 15 PSET (-148 + x + Z, -110 + y + zz), 15 PSET (-149 + x + Z, -109 + y + zz), 15 END IF zz = zz + 3 NEXT: NEXT LINE (263, 103)-(385, 203), 0, BF FOR T = 0 TO 18000 STEP 1 x = 263 + INT(RND * 121) + 1 y = 103 + INT(RND * 99) + 1 Z = INT(RND * 3) IF POINT(x, y) <> 15 THEN IF Z = 0 THEN PSET (x, y), 10 IF Z = 1 THEN PSET (x, y), 3 IF Z = 2 THEN PSET (x, y), 8 IF Z = 3 THEN PSET (x, y), 0 END IF NEXT CIRCLE (291, 119), 11, 15: PAINT (291, 119), 15, 15 CIRCLE (356, 119), 11, 15: PAINT (356, 119), 15, 15 LINE (286, 110)-(361, 128), 15, B LINE (287, 111)-(360, 127), 7, B LINE (288, 112)-(359, 126), 9, BF 'LOCATE 9, 37: PRINT "........." CIRCLE (290, 154), 21, 9: PAINT (290, 154), 0, 9 CIRCLE (290, 154), 20, 1: PAINT (290, 154), 0, 1 CIRCLE (358, 154), 21, 9: PAINT (358, 154), 0, 9 CIRCLE (358, 154), 20, 1: PAINT (358, 154), 0, 1 LINE (287, 138)-(360, 169), 9, B LINE (287, 139)-(360, 168), 1, B LINE (287, 140)-(360, 167), 0, BF LOCATE 11, 37: PRINT " 0 " LOCATE 12, 37: PRINT " + 0 " CIRCLE (291, 189), 11, 12: PAINT (291, 189), 12, 12 CIRCLE (356, 189), 11, 12: PAINT (356, 189), 12, 12 LINE (286, 180)-(361, 198), 12, B LINE (287, 181)-(360, 197), 4, B LINE (288, 182)-(359, 196), 0, BF LOCATE 14, 37: PRINT " 0 0 0 " FOR T = 1 TO 2 LINE (40 + tt, 220)-(46 + tt, 300), 0, BF LINE (111 + tt, 220)-(117 + tt, 300), 0, BF LINE (40 + tt, 220)-(45 + tt, 300), 1, BF LINE (111 + tt, 220)-(116 + tt, 300), 1, BF LINE (41 + tt, 220)-(44 + tt, 300), 9, BF LINE (112 + tt, 220)-(115 + tt, 300), 9, BF tt = tt + 488 NEXT T FOR x = 1 TO 2 FOR y = 1 TO 4 LINE (21 + xx, 210 + yy)-(137 + xx, 225 + yy), 0, BF LINE (20 + xx, 209 + yy)-(136 + xx, 224 + yy), 1, BF LINE (19 + xx, 208 + yy)-(135 + xx, 223 + yy), 9, BF CIRCLE (42 + xx, 212 + yy), 1, 7: PSET (42 + xx, 212 + yy), 15 CIRCLE (42 + xx, 219 + yy), 1, 7: PSET (42 + xx, 219 + yy), 15 CIRCLE (113 + xx, 212 + yy), 1, 7: PSET (113 + xx, 212 + yy), 15 CIRCLE (113 + xx, 219 + yy), 1, 7: PSET (113 + xx, 219 + yy), 15 yy = yy + 28 NEXT y xx = xx + 488: yy = 0 NEXT x xx = 0: yy = 0 FOR x = 1 TO 2 FOR y = 1 TO 4 LINE (159 + xx, 209 + yy)-(207 + xx, 224 + yy), 4, B LINE (158 + xx, 208 + yy)-(208 + xx, 225 + yy), 12, B LINE (157 + xx, 207 + yy)-(209 + xx, 226 + yy), 4, B yy = yy + 28 NEXT y xx = xx + 281: yy = 0 NEXT x FOR y = 0 TO 6 STEP 2 LOCATE 16 + y, 21: PRINT " 0000 ": LOCATE 16 + y, 56: PRINT " 0000 " NEXT y END SUB SUB LanceDes SHARED D1, D2, D3, EffDes1(), EffDes2(), EffDes3(), L, M SHARED Des1(), Des2(), Des3(), Des4(), Des5(), Des6() M = 0: L = -30 D4 = INT(RND * 6) + 1 D5 = INT(RND * 6) + 1 D6 = INT(RND * 6) + 1 FOR T = 0 TO 3 DZ = INT(RND * 40) + 1 L = L + DZ GET (200 - L, 295 + M)-(262 - L, 349 + M), EffDes1 GET (300, 245 + M)-(362, 299 + M), EffDes2 GET (400 + L, 295 + M)-(462 + L, 349 + M), EffDes3 IF D4 = 1 THEN PUT (200 - L, 295 + M), Des1, PSET IF D4 = 2 THEN PUT (200 - L, 295 + M), Des2, PSET IF D4 = 3 THEN PUT (200 - L, 295 + M), Des3, PSET IF D4 = 4 THEN PUT (200 - L, 295 + M), Des4, PSET IF D4 = 5 THEN PUT (200 - L, 295 + M), Des5, PSET IF D4 = 6 THEN PUT (200 - L, 295 + M), Des6, PSET IF D5 = 1 THEN PUT (300, 245 + M), Des1, PSET IF D5 = 2 THEN PUT (300, 245 + M), Des2, PSET IF D5 = 3 THEN PUT (300, 245 + M), Des3, PSET IF D5 = 4 THEN PUT (300, 245 + M), Des4, PSET IF D5 = 5 THEN PUT (300, 245 + M), Des5, PSET IF D5 = 6 THEN PUT (300, 245 + M), Des6, PSET IF D6 = 1 THEN PUT (400 + L, 295 + M), Des1, PSET IF D6 = 2 THEN PUT (400 + L, 295 + M), Des2, PSET IF D6 = 3 THEN PUT (400 + L, 295 + M), Des3, PSET IF D6 = 4 THEN PUT (400 + L, 295 + M), Des4, PSET IF D6 = 5 THEN PUT (400 + L, 295 + M), Des5, PSET IF D6 = 6 THEN PUT (400 + L, 295 + M), Des6, PSET FOR t2 = 0 TO 8000 STEP .5: NEXT t2 PUT (200 - L, 295 + M), EffDes1, PSET PUT (300, 245 + M), EffDes2, PSET PUT (400 + L, 295 + M), EffDes3, PSET M = M - 55 NEXT GET (200 - L, 295 + M)-(262 - L, 349 + M), EffDes1 GET (300, 245 + M)-(362, 299 + M), EffDes2 GET (400 + L, 295 + M)-(462 + L, 349 + M), EffDes3 LINE (1, 348)-(638, 348), 0 IF D1 = 1 THEN PUT (200 - L, 295 + M), Des1, PSET IF D1 = 2 THEN PUT (200 - L, 295 + M), Des2, PSET IF D1 = 3 THEN PUT (200 - L, 295 + M), Des3, PSET IF D1 = 4 THEN PUT (200 - L, 295 + M), Des4, PSET IF D1 = 5 THEN PUT (200 - L, 295 + M), Des5, PSET IF D1 = 6 THEN PUT (200 - L, 295 + M), Des6, PSET IF D2 = 1 THEN PUT (300, 245 + M), Des1, PSET IF D2 = 2 THEN PUT (300, 245 + M), Des2, PSET IF D2 = 3 THEN PUT (300, 245 + M), Des3, PSET IF D2 = 4 THEN PUT (300, 245 + M), Des4, PSET IF D2 = 5 THEN PUT (300, 245 + M), Des5, PSET IF D2 = 6 THEN PUT (300, 245 + M), Des6, PSET IF D3 = 1 THEN PUT (400 + L, 295 + M), Des1, PSET IF D3 = 2 THEN PUT (400 + L, 295 + M), Des2, PSET IF D3 = 3 THEN PUT (400 + L, 295 + M), Des3, PSET IF D3 = 4 THEN PUT (400 + L, 295 + M), Des4, PSET IF D3 = 5 THEN PUT (400 + L, 295 + M), Des5, PSET IF D3 = 6 THEN PUT (400 + L, 295 + M), Des6, PSET END SUB SUB WCalcul SHARED Taux, Total, Tals, D1, D2, D3, Go Taux = Taux + Total IF D1 = 2 AND D2 = 2 AND D3 = 2 THEN Total = 200: Go = 1 IF D1 = 3 AND D2 = 3 AND D3 = 3 THEN Total = 300: Go = 1 IF D1 = 4 AND D2 = 4 AND D3 = 4 THEN Total = 400: Go = 1 IF D1 = 5 AND D2 = 5 AND D3 = 5 THEN Total = 500: Go = 1 IF D1 = 6 AND D2 = 6 AND D3 = 6 THEN Total = 600: Go = 1 IF D1 = 1 AND D2 = 1 AND D3 = 1 THEN Total = 1000: Go = 1 IF D1 <> 1 THEN IF D1 <> 5 THEN IF Go = 0 THEN D1 = 0 END IF END IF IF D2 <> 1 THEN IF D2 <> 5 THEN IF Go = 0 THEN D2 = 0 END IF END IF IF D3 <> 1 THEN IF D3 <> 5 THEN IF Go = 0 THEN D3 = 0 END IF END IF IF D1 = 0 AND D2 = 0 AND D3 = 0 AND Go = 0 THEN Taux = 0: Total = 0: Tals = 0 IF Go = 0 THEN IF D1 = 5 THEN D1 = 50 IF D1 = 1 THEN D1 = 100 IF D2 = 5 THEN D2 = 50 IF D2 = 1 THEN D2 = 100 IF D3 = 5 THEN D3 = 50 IF D3 = 1 THEN D3 = 100 END IF IF Go = 0 THEN Tals = Tals + (D1 + D2 + D3): Total = (D1 + D2 + D3) IF Go = 1 THEN Tals = Tals + Total IF Total = 0 THEN Tals = 0: Taux = 0 Go = 0 END SUB SUB XJoueur SHARED N SHARED Nom1(), Nom2(), Nom3(), Nom4(), Nom5(), Nom6(), Nom7(), Nom8() SHARED Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8 IF N = 1 THEN PUT (290, 113), Nom1, PSET COLOR 10: LOCATE 16, 22: PRINT USING "####"; Score1: COLOR 15 end if IF N = 2 THEN PUT (290, 113), Nom2, PSET COLOR 10: LOCATE 18, 22: PRINT USING "####"; Score2: COLOR 15 end if IF N = 3 THEN PUT (290, 113), Nom3, PSET COLOR 10: LOCATE 20, 22: PRINT USING "####"; Score3: COLOR 15 end if IF N = 4 THEN PUT (290, 113), Nom4, PSET COLOR 10: LOCATE 22, 22: PRINT USING "####"; Score4: COLOR 15 end if IF N = 5 THEN PUT (290, 113), Nom5, PSET COLOR 10: LOCATE 16, 57: PRINT USING "####"; Score5: COLOR 15 end if IF N = 6 THEN PUT (290, 113), Nom6, PSET COLOR 10: LOCATE 18, 57: PRINT USING "####"; Score6: COLOR 15 end if IF N = 7 THEN PUT (290, 113), Nom7, PSET COLOR 10: LOCATE 20, 57: PRINT USING "####"; Score7: COLOR 15 end if IF N = 8 THEN PUT (290, 113), Nom8, PSET COLOR 10: LOCATE 22, 57: PRINT USING "####"; Score8: COLOR 15 end if END SUB SUB YDepassement5000 SHARED Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8 SHARED N, NJ, Taux, Total, Tals, COD$ IF N = 8 AND Score8 + Tals > 5000 THEN Score8 = Score8 - Tals Taux = 0: Total = 0: Tals = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$: COLOR 15 LOCATE 22, 57: PRINT USING "####"; Score8 END IF IF N = 7 AND Score7 + Tals > 5000 THEN Score7 = Score7 - Tals Taux = 0: Total = 0: Tals = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$: COLOR 15 LOCATE 20, 57: PRINT USING "####"; Score7 END IF IF N = 6 AND Score6 + Tals > 5000 THEN Score6 = Score6 - Tals Taux = 0: Total = 0: Tals = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$: COLOR 15 LOCATE 18, 57: PRINT USING "####"; Score6 END IF IF N = 5 AND Score5 + Tals > 5000 THEN Score5 = Score5 - Tals Taux = 0: Total = 0: Tals = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$: COLOR 15 LOCATE 16, 57: PRINT USING "####"; Score5 END IF IF N = 4 AND Score4 + Tals > 5000 THEN Score4 = Score4 - Tals Taux = 0: Total = 0: Tals = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$: COLOR 15 LOCATE 22, 22: PRINT USING "####"; Score4 END IF IF N = 3 AND Score3 + Tals > 5000 THEN Score3 = Score3 - Tals Taux = 0: Total = 0: Tals = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$: COLOR 15 LOCATE 20, 22: PRINT USING "####"; Score3 END IF IF N = 2 AND Score2 + Tals > 5000 THEN Score2 = Score2 - Tals Taux = 0: Total = 0: Tals = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$: COLOR 15 LOCATE 18, 22: PRINT USING "####"; Score2 END IF IF N = 1 AND Score1 + Tals > 5000 THEN Score1 = Score1 - Tals Taux = 0: Total = 0: Tals = 0 LOCATE 11, 37: PRINT USING " #### "; Taux COLOR 12: LOCATE 14, 37: PRINT COD$: COLOR 15 LOCATE 16, 22: PRINT USING "####"; Score1 END IF END SUB SUB ZBravo5000Juste SHARED Score1, Score2, Score3, Score4, Score5, Score6, Score7, Score8 SHARED L, M, N, NJ, Taux, Total, Tals, EffDes1(), EffDes2(), EffDes3() Terminer = 0 IF N = 8 AND Score8 + Tals = 5000 THEN Score8 = 5000 Taux = 0: Total = 0: Tals = 0 LOCATE 22, 57: PRINT USING "####"; Score8 Terminer = 1 END IF IF N = 7 AND Score7 + Tals = 5000 THEN Score7 = 5000 Taux = 0: Total = 0: Tals = 0 LOCATE 20, 57: PRINT USING "####"; Score7 Terminer = 1 END IF IF N = 6 AND Score6 + Tals = 5000 THEN Score6 = 5000 Taux = 0: Total = 0: Tals = 0 LOCATE 18, 57: PRINT USING "####"; Score6 Terminer = 1 END IF IF N = 5 AND Score5 + Tals = 5000 THEN Score5 = 5000 Taux = 0: Total = 0: Tals = 0 LOCATE 16, 57: PRINT USING "####"; Score5 Terminer = 1 END IF IF N = 4 AND Score4 + Tals = 5000 THEN Score4 = 5000 Taux = 0: Total = 0: Tals = 0 LOCATE 22, 22: PRINT USING "####"; Score4 Terminer = 1 END IF IF N = 3 AND Score3 + Tals = 5000 THEN Score3 = 5000 Taux = 0: Total = 0: Tals = 0 LOCATE 20, 22: PRINT USING "####"; Score3 Terminer = 1 END IF IF N = 2 AND Score2 + Tals = 5000 THEN Score2 = 5000 Taux = 0: Total = 0: Tals = 0 LOCATE 18, 22: PRINT USING "####"; Score2 Terminer = 1 END IF IF N = 1 AND Score1 + Tals = 5000 THEN Score1 = 5000 Taux = 0: Total = 0: Tals = 0 LOCATE 16, 22: PRINT USING "####"; Score1 Terminer = 1 END IF IF Terminer = 1 THEN PUT (200 - L, 295 + M), EffDes1, PSET PUT (300, 245 + M), EffDes2, PSET PUT (400 + L, 295 + M), EffDes3, PSET FOR td = 0 TO 600 STEP 1 T = 0 + INT(RND * 106) c = c + 1: IF c > 8 THEN c = 0 LINE (216 + T, 90 + T)-(430 - T, 314 - T), c, B c = c + 1: IF c > 8 THEN c = 0 LINE (217 + T, 91 + T)-(429 - T, 313 - T), c + 7, BF NEXT td COLOR 1 LOCATE 10, 38: PRINT " F I N " LOCATE 11, 36: PRINT " D E " LOCATE 12, 34: PRINT " P A R T I E " LOCATE 18, 37: PRINT " G A M E " LOCATE 19, 37: PRINT " O V E R " FOR x = 225 TO 425 FOR y = 100 TO 300 c = POINT(x, y) IF c = 0 THEN PSET (x, y), 10 NEXT: NEXT LINE (216, 90)-(430, 314), 0, B LOCATE 23, 34: COLOR 15: PRINT "ESC pour finir" DO: LOOP WHILE INKEY$ <> CHR$(27) CLS : END END IF END SUB