DECLARE SUB ChargGraphDes () DECLARE SUB cINFOjeu5000 () 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, , 1, 0 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 SCREEN 9, , 0, 0 cINFOjeu5000 CombienDeJoueur Ordi$ = "OFF" 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: v = 0 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 END IF 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 END IF IF N = 2 THEN LOCATE 18, 22: PRINT USING "####"; Score2 END IF IF N = 3 THEN LOCATE 20, 22: PRINT USING "####"; Score3 END IF IF N = 4 THEN LOCATE 22, 22: PRINT USING "####"; Score4 END IF IF N = 5 THEN LOCATE 16, 57: PRINT USING "####"; Score5 END IF IF N = 6 THEN LOCATE 18, 57: PRINT USING "####"; Score6 END IF IF N = 7 THEN LOCATE 20, 57: PRINT USING "####"; Score7 END IF IF N = 8 THEN LOCATE 22, 57: PRINT USING "####"; Score8 END IF COLOR 15 N = N + 1 IF N > NJ THEN N = 1 END IF END IF U$ = "OFF" IF Ordi$ = "ON" AND N = 2 THEN IF v <= 2 THEN U$ = "ON": v = v + 1 IF v > 2 THEN U$ = "OFF" v = 0 IF Tals <> 0 THEN Score2 = Score2 + Tals IF N = 2 THEN LOCATE 18, 22: PRINT USING "####"; Score2 END IF Tals = 0 N = N + 1 IF N > NJ THEN N = 1 END IF END IF 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 END IF IF N = 2 THEN Score2 = Score2 + Tals LOCATE 18, 22: PRINT USING "####"; Score2 END IF IF N = 3 THEN Score3 = Score3 + Tals LOCATE 20, 22: PRINT USING "####"; Score3 END IF IF N = 4 THEN Score4 = Score4 + Tals LOCATE 22, 22: PRINT USING "####"; Score4 END IF IF N = 5 THEN Score5 = Score5 + Tals LOCATE 16, 57: PRINT USING "####"; Score5 END IF IF N = 6 THEN Score6 = Score6 + Tals LOCATE 18, 57: PRINT USING "####"; Score6 END IF IF N = 7 THEN Score7 = Score7 + Tals LOCATE 20, 57: PRINT USING "####"; Score7 END IF IF N = 8 THEN Score8 = Score8 + Tals LOCATE 22, 57: PRINT USING "####"; Score8 END IF 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 cINFOjeu5000 DIM Info$(70) LOCATE 1, 1 Info$(1) = " " Info$(2) = " " Info$(3) = " " Info$(4) = " ßÛÛ ÛÛß " Info$(5) = " " Info$(6) = " " Info$(7) = " Ü Ü " Info$(8) = " ßÜÜ ÜÜß " Info$(9) = " ßßßßßßßßß " Info$(10) = " " Info$(11) = " Utilisez les touches flŠches pour monter ou dessendre " Info$(12) = " " Info$(13) = " dans les informations concernant ce jeu. " Info$(14) = " " Info$(15) = "   " Info$(16) = " " Info$(17) = " " Info$(18) = " " Info$(19) = " DESSENDEZ " Info$(20) = "  " Info$(21) = " " Info$(22) = " " Info$(23) = " " Info$(24) = " " Info$(25) = " " Info$(26) = " " Info$(27) = " " Info$(28) = " " Info$(29) = " " Info$(30) = " " Info$(31) = " " Info$(32) = " " Info$(33) = " " Info$(34) = " *********************************************************************** " Info$(35) = " * Language utilise: QuickBasic 4.5fr & Bibliotheque: QB /L QB.QLB /AH *" Info$(36) = " * Une creation de : Ange.ø.Noir *" Info$(37) = " * Date de creation: juin 2006. *" Info$(38) = " ********************[Bienvenue dans le nouveau jeu]******************** " Info$(39) = " * *" Info$(40) = " * þþþþþþþþþþþ þþþþþþþþþþþþ þþþþþþþþ þþþþþþþþ þþþþþþþþ *" Info$(41) = " * þþ þþ þþþ þþþ þþ þþþ þþ þþþ þþ *" Info$(42) = " * þþ þþ þþþ þþþ þþ þþþ þþ þþþ þþ *" Info$(43) = " * þþ þþ þþþþþþþþþþ þþþ þþ þþþ þþ þþþ þþ *" Info$(44) = " * þþ þþ þþ þþþ þþ þþþ þþ þþþ þþ *" Info$(45) = " * þþ þþ þ þþ þþþ þþ þþþ þþ þþþ þþ *" Info$(46) = " * þþþþþþþþþþþ þþþþþþþþþþ þþþþþþþþ þþþþþþþþ þþþþþþþþ *" Info$(47) = " * *" Info$(48) = " *************************************************************************" Info$(49) = " * D5000 est un jeu de D‚s don les participants doivent atteindre 5000Pt *" Info$(50) = " * avec le Total de 3 d‚s qui s`accumule … chaque lanc‚. *" Info$(51) = " * Les joueurs peuvent arreter de jouer … tout moment pour ne pas perdre *" Info$(52) = " * les Points d‚j… accumul‚ et les ajouter … leur Score personnel. *" Info$(53) = " * Le but du jeu est d'arriver bon premier … 5000 juste car si vous *" Info$(54) = " * d‚passez 5000, tout les points accumul‚ durant votre tour sont d‚duit *" Info$(55) = " * de votre Score personnel. *" Info$(56) = " *************************************************************************" Info$(57) = " * LES TOUCHES: *" Info$(58) = " * *********** *" Info$(59) = " * ENTER ou RETOUR pour effectuer un nouveau lanc‚ *" Info$(60) = " * *" Info$(61) = " * SPACE-BAR ou BARRE-ESPACEMENT pour garder les points *" Info$(62) = " * *" Info$(63) = " * ESC ou ECHAP pour quitter le jeu *" Info$(64) = " * *" Info$(65) = " *********************************************************************** " Info$(66) = " BONNE PARTIE :) " Info$(67) = " " Info$(68) = " Appuyez sur la touche (5) pour d‚buter le jeu " Info$(69) = " OU " Info$(70) = " sur la touche ESC pour quitter. " y = 0 DO FOR D = 1 TO 20 LOCATE D, 3: PRINT Info$(D + y) NEXT D DO H$ = INKEY$ IF H$ = CHR$(27) THEN END IF H$ = "5" THEN EXIT DO IF H$ = CHR$(0) + CHR$(72) THEN y = y - 1 IF y < 0 THEN y = 0 IF H$ = CHR$(0) + CHR$(80) THEN y = y + 1 IF y > 50 THEN y = 50 LOOP WHILE H$ = "" LOOP WHILE H$ <> "5" 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, Ordi$ SHARED Nom1(), Nom2(), Nom3(), Nom4() SHARED 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 END IF 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 IF NJ = 1 THEN NJ = 2: N = 2 LOCATE 7, 52: PRINT "Computer" Ordi$ = "ON" END IF 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 END IF 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 ' Afficher le Fond Ecran avec les Joueurs r`ajouter. JFondEcran5000 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 END IF 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 END IF 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) END IF 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() SHARED Nom5(), Nom6(), Nom7(), Nom8() SHARED Score1, Score2, Score3, Score4 SHARED 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 SHARED 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 SHARED Score5, Score6, Score7, Score8 SHARED L, M, N, NJ, Taux, Total, Tals SHARED 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