10 REM IL PLEUT BERGERE
20 REM RENTRE TES BLANCS MOUTONS 30 REM par eric DUPONT 40 REM -------------------------------- 50 REM GRAPHISME 60 SYMBOL AFTER 128 70 SYMBOL 128,0,68,135,255,124,68,68,0 80 SYMBOL 129,0,6,143,126,124,68,68,0 90 SYMBOL 130,24,126,126,255,255,126,126,24 100 SYMBOL 131,0,12,30,30,12,31,61,173 110 SYMBOL 132,239,140,158,191,191,191,146,179 120 SYMBOL 133,60,126,255,255,255,255,126,60 130 SYMBOL 134,0,0,40,28,56,20,0,0 140 SYMBOL 135,0,34,225,255,62,34,34,0 150 SYMBOL 136,0,0,0,24,60,126,255,255 160 SYMBOL 137,255,143,168,154,171,171,139,255 170 SYMBOL 138,255,251,169,171,171,171,139,255 180 SYMBOL 139,255,255,81,87,81,93,17,255 190 SYMBOL 140,60,126,255,255,255,255,127,63 200 SYMBOL 141,63,127,255,255,255,255,126,60 210 SYMBOL 142,15,15,15,15,15,15,15,15 220 SYMBOL 144,60,126,255,255,255,255,254,252 230 SYMBOL 145,252,254,255,255,255,255,126,60 240 SYMBOL 147,240,240,240,240,240,240,240,240 250 RANDOMIZE TIME 260 REM ------------------------------- 270 REM PRESENTATION 280 MODE 0:BORDER 0:PAPER 5:CLS:LOCATE 3,3:PEN 11:PRINT "IL PLEUT BERGERE":LOCATE 3,5:PEN 3:PRINT"IL PLEUT BERGERE":LOCATE 8,7:PEN 7:PRINT"RENTRE":LOCATE 2,9:PEN 6:PRINT"TES BLANCS MOUTONS" 290 LOCATE 10,11:PEN 9:PRINT CHR$(136):LOCATE 12,11:PRINT CHR$(136) 300 LOCATE 10,23:PEN 3:PRINT CHR$(24);"BRUTUS":LOCATE 10,24:PEN 9:PRINT CHR$(24);" " 310 PEN 9:FOR I=1 TO 64:READ C,L:LOCATE C,L:PRINT CHR$(143):NEXT I 320 DATA 10,12,12,12,10,13,12,13,9,14,10,14,11,14,12,14,8,15,9,15,11,15,12,15,13,15,6,16,7,16,8,16,9,16,10,16,11,16,12,16,13,16,6,17,7,17,8,17,9,17,10,17,11,17,12,17,13,17,9,18,10,18,11,18,12,18,13,18,14,18,6,19,7,19,8,19,9,19,10,19,11,19,12,19,13,19 330 DATA 14,19,7,20,8,20,9,20,10,20,11,20,12,20,13,20,14,20,10,21,11,21,12,21,13,21,14,21,15,21,10,22,11,22,12,22,13,22,14,22,15,22 340 GOSUB 1760:FOR D=1 TO 2000:NEXT D 350 PAPER 5:CLS:PEN 11:LOCATE 9,4:PRINT"par":PEN 3:LOCATE 5,7:PRINT"ERIC DUPONT":PEN 11:LOCATE 9,10:PRINT CHR$(143)+CHR$(143)+CHR$(143):LOCATE 8,13:PEN 7:PRINT"dedie":LOCATE 10,14:PRINT"a":LOCATE 7,15:PRINT"mon ami":LOCATE 7,18:PEN 6:PRINT"NICOLAS" 360 LOCATE 3,21:PEN 7:PRINT"surnomme BRUTUS":LOCATE 2,23:PRINT"par ses camarades":LOCATE 6,25:PRINT"de classe" 370 FOR I=1 TO 5000:NEXT I 380 MODE 1:PAPER 0:CLS:BORDER 1:PEN 1:LOCATE 3,3:PRINT"Vous etes `BRUTUS',chien berger":LOCATE 3,4:PRINT"Il pleut,":LOCATE 3,5:PRINT"La bergere est bien a l'abri":LOCATE 3,6:PRINT"Sous le toit de la bergerie...":LOCATE 3,9:PRINT"A vous d'y faire rentrer" 390 LOCATE 3,10:PRINT"Tous les moutons!":LOCATE 3,12:PEN 1:PRINT"Mais ATTENTION,les moutons":LOCATE 3,13:PRINT"Ne doivent pas croquer les legumes":LOCATE 3,14:PRINT"Des deux potagers.":LOCATE 10,17:PRINT"Appuyez sur `L'" 400 LOCATE 10,18:PRINT"pour continuer la lecture." 410 a$=INKEY$:IF a$="l" OR a$="L" THEN 430 420 GOTO 410 430 PAPER 0:CLS:PEN 1 440 LOCATE 2,2:PRINT"Vous apparaissez":LOCATE 2,3:PRINT"a cote de la bergere":LOCATE 2,4:PRINT"en appuyant sur la touche":LOCATE 2,5:PRINT"directionnelle `GAUCHE'":LOCATE 16,7:PRINT"Vous vous deplacez":LOCATE 16,8:PRINT"avec les quatre touches" 450 LOCATE 16,9:PRINT"directionnelles.":LOCATE 2,11:PRINT"Vous validez vos deplacements ":LOCATE 2,12:PRINT"en appuyant sur `ENTER'.":LOCATE 16,14:PRINT"Chaque `ENTER' et":LOCATE 16,15:PRINT"chaque LEGUME BROUTE":LOCATE 16,16:PRINT"compte pour un essai!" 460 LOCATE 2,18:PRINT"Vous devez regrouper":LOCATE 2,19:PRINT"les moutons":LOCATE 2,20:PRINT"dans la bergerie":LOCATE 2,21:PRINT"en un minimum d'ESSAIS.":LOCATE 13,23:PRINT"Votre RECOMPENSE":LOCATE 11,24:PRINT"sera proportionnelle" 470 LOCATE 13,25:PRINT"a vos resultats." 480 FOR I=1 TO 20000:NEXT I 490 REM ------------------------------- 500 MODE 1:BORDER 9:INK 0,9:PAPER 0 510 DIM X(10),Y(10) 520 F=0 530 E=0 540 X=36:Y=16 550 REM ------------------------------- 560 REM DESSIN DE L'ENCLOS 570 INK 1,0:PEN 1:PLOT 6,6:DRAW 632,6:DRAW 632,392:DRAW 6,392:DRAW 6,6 580 PEN 1:PLOT 632,249:DRAW 390,249:PLOT 632,247:DRAW 390,247 590 PEN 1:PLOT 632,89:DRAW 390,89:PLOT 632,87:DRAW 390,87 600 FOR T=30 TO 35 STEP 5:LOCATE T,20:PRINT CHR$(130):NEXT T 610 FOR T=30 TO 35 STEP 5:LOCATE T,10:PRINT CHR$(130):NEXT T 620 PEN 1:LOCATE 25,10:PRINT CHR$(130):LOCATE 25,20:PRINT CHR$(130) 630 PLOT 8,8:DRAW 630,8:DRAW 630,390:DRAW 8,390:DRAW 8,8 640 PEN 1:LOCATE 1,1:PRINT CHR$(133):LOCATE 40,1:PRINT CHR$(133) 650 LOCATE 1,25:PRINT CHR$(133);:LOCATE 40,25:PRINT CHR$(133); 660 FOR I=5 TO 38 STEP 5 670 LOCATE I,1:PRINT CHR$(130):LOCATE I,25:PRINT CHR$(130); 680 IF I<25 THEN LOCATE 1,I:PRINT CHR$(130):LOCATE 40,I:PRINT CHR$(130) 690 NEXT I 700 REM ------------------------------- 710 REM DESSIN DES LEGUMES 720 FOR U=26 TO 37 730 INK 3,6:LOCATE U,2:PEN 3:PRINT CHR$(134):NEXT U 740 FOR U=26 TO 37 750 INK 3,6:LOCATE U,3:PEN 3:PRINT CHR$(134):NEXT U 760 FOR U=26 TO 37 770 INK 3,6:LOCATE U,4:PEN 3:PRINT CHR$(134):NEXT U 780 FOR U=26 TO 37 790 INK 3,6:LOCATE U,6 :PEN 3:PRINT CHR$(134):NEXT U 800 FOR U=26 TO 37 810 INK 3,6:LOCATE U,7:PEN 3:PRINT CHR$(134):NEXT U 820 FOR U=26 TO 37 830 INK 3,6:LOCATE U,8:PEN 3:PRINT CHR$(134):NEXT U 840 FOR U=26 TO 37 850 INK 3,6:LOCATE U,9:PEN 3:PRINT CHR$(134):NEXT U 860 FOR R=26 TO 37 870 INK 3,6:LOCATE R,24:PEN 3:PRINT CHR$(134):NEXT R 880 FOR R=26 TO 37 890 INK 3,6:LOCATE R,23:PEN 3:PRINT CHR$(134):NEXT R 900 FOR R=26 TO 37 910 INK 3,6:LOCATE R,21:PEN 3:PRINT CHR$(134):NEXT R 920 REM ------------------------------- 930 REM DESSIN DE LA BERGERE 940 INK 2,26:PEN 2:LOCATE 37,15:PRINT CHR$(131):LOCATE 37,16:PRINT CHR$(132) 950 REM ------------------------------- 960 REM DESSIN DE LA BERGERIE 970 LOCATE 32,13:PEN 1:PRINT CHR$(214):FOR T=33 TO 38:LOCATE T,13:PRINT CHR$(143):NEXT T 980 FOR U=14 TO 16:LOCATE 38,U:PRINT CHR$(149):NEXT U 990 LOCATE 38,17:PRINT CHR$(153):FOR K=37 TO 33 STEP-1:LOCATE K,17:PRINT CHR$(154):NEXT K:LOCATE 32,17:PRINT CHR$(146) 1000 REM ------------------------------- 1010 REM DESSIN DU CHIEN ET DES MOUTONS 1020 N=10 1030 FOR I=1 TO N 1040 X(I)=INT(RND(1)*14)+2 1050 Y(I)=INT(RND(1)*20)+2 1060 IF TEST(X(I)*16-8,408-Y(I)*16)<>0 THEN 1040 1070 IF I=N+1 THEN LOCATE X(I),Y(I):PEN 1:PRINT CHR$(128):X=X(I):Y=Y(I):GOTO 1090 1080 PEN 2:LOCATE X(I),Y(I):PRINT CHR$(129) 1090 NEXT I 1100 REM ------------------------------ 1110 REM DEPLACEMENT DU CHIEN... 1120 REM ... ET DES MOUTONS 1130 ENT -2,=1000,60,=3000,40 1140 ENV 1,10,1,5,2,-4,1,2,-1,20 1150 D$=INKEY$:IF D$="" THEN 1150 1160 IF D$=CHR$(13) THEN E=E+1:SOUND 1,0,200,10,1,2,31:GOTO 1240 1170 LOCATE X,Y:PRINT " " 1180 IF D$=CHR$(242) THEN IF TEST((X-1)*16-8,408-Y*16)=0 THEN X=X-1:GOTO 1230 1190 IF D$=CHR$(243) THEN IF TEST((X+1)*16-8,408-Y*16)=0 THEN X=X+1:GOTO 1220 1200 IF D$=CHR$(240) THEN IF TEST(X*16-8,408-(Y-1)*16)=0 THEN Y=Y-1:GOTO 1220 1210 IF D$=CHR$(241) THEN IF TEST(X*16-8,408-(Y+1)*16)=0 THEN Y=Y+1:GOTO 1220 1220 LOCATE X,Y:PEN 1:PRINT CHR$(128):GOTO 1150 1230 LOCATE X,Y:PEN 1:PRINT CHR$(135):GOTO 1150 1240 FOR J=1 TO 5 1250 F=0 1260 FOR I=1 TO N 1270 LOCATE X(I),Y(I):PRINT " " 1280 IF X(I)<32 OR X(I)>37 THEN 1340 1290 IF Y(I)<13 OR Y(I)>17 THEN 1340 1300 F=F+1 1310 IF TEST((X(I)+1)*16-8,408-Y(I)*16)<>0 THEN 1460 1320 X(I)=X(I)+1 1330 GOTO 1460 1340 AX=X(I):AY=Y(I) 1350 IF Y(I)=2 THEN Y(I)=3:GOTO 1430 1360 IF Y(I)=24 THEN Y(I)=23:GOTO 1430 1370 IF Y<Y(I) THEN Y(I)=Y(I)+1 1380 IF Y>Y(I) THEN Y(I)=Y(I)-1 1390 IF X(I)=2 THEN X(I)=3:GOTO 1430 1400 IF X(I)=39 THEN X(I)=38:GOTO 1430 1410 IF X<X(I) THEN X(I)=X(I)+1 1420 IF X>X(I) THEN X(I)=X(I)-1 1430 IF TEST(X(I)*16-8,408-Y(I)*16)=0 THEN 1460 1440 IF TEST(X(I)*16-8,408-Y(I)*16)=3 THEN E=E+1:GOTO 1460 1450 X(I)=AX:Y(I)=AY 1460 PEN 2:LOCATE X(I),Y(I):PRINT CHR$(129) 1470 NEXT I 1480 IF F=N THEN 1530 1490 NEXT J 1500 GOTO 1150 1510 REM ------------------------------ 1520 REM SCORE ET RECOMPENSE 1530 MODE 0:PAPER 5:CLS:BORDER 0 1540 LOCATE 4,2:PEN 7:PRINT"VOS ESSAIS:";E 1550 IF E<25 THEN 1580 1560 IF E>25 AND E<60 THEN 1640 1570 IF E>60 THEN 1690 1580 LOCATE 5,5:PEN 6:PRINT"Bravo BRUTUS:":LOCATE 2,7:PRINT"Tu es le MEILLEUR":LOCATE 1,9:PRINT"Voici ta recompense:" 1590 PEN 2:LOCATE 2,13:PRINT CHR$(213)+CHR$(137)+CHR$(138)+CHR$(139)+CHR$(212):LOCATE 9,12:PRINT CHR$(140):LOCATE 9,13:PRINT CHR$(142)+CHR$(143)+CHR$(143)+CHR$(143)+CHR$(147):LOCATE 9,14:PRINT CHR$(141):LOCATE 13,12:PRINT CHR$(144) 1600 LOCATE 13,14:PRINT CHR$(145):LOCATE 17,13:PRINT CHR$(143):LOCATE 16,14:PRINT CHR$(143):LOCATE 18,14:PRINT CHR$(143) 1610 LOCATE 3,16:PEN 7:PRINT"UNE UN OS DES":LOCATE 2,17:PRINT"SOUPE SUCRES" 1620 FOR I=1 TO 10000:NEXT I 1630 GOTO 1720 1640 LOCATE 2,5:PEN 6:PRINT"C'est bien BRUTUS":LOCATE 1,7:PRINT"Tu peux faire mieux,":LOCATE 1,9:PRINT"Voici ta recompense:" 1650 PEN 2:LOCATE 4,13:PRINT CHR$(213)+CHR$(137)+CHR$(138)+CHR$(139)+CHR$(212):LOCATE 13,13:PRINT CHR$(142)+CHR$(143)+CHR$(143)+CHR$(143)+CHR$(147):LOCATE 13,12:PRINT CHR$(140):LOCATE 13,14:PRINT CHR$(141):LOCATE 17,12:PRINT CHR$(144) 1660 LOCATE 17,14:PRINT CHR$(145):PEN 7:LOCATE 5,16:PRINT"UNE UN OS":LOCATE 4,17:PRINT"SOUPE" 1670 FOR I=1 TO 10000:NEXT I 1680 GOTO 1720 1690 LOCATE 4,5:PEN 6:PRINT"Pauvre BRUTUS":LOCATE 1,7:PRINT"Tu es bien decevant,":LOCATE 1,9:PRINT"Voici ta nourriture:":LOCATE 8,13:PEN 2:PRINT CHR$(213)+CHR$(137)+CHR$(138)+CHR$(139)+CHR$(212):LOCATE 9,16:PEN 7:PRINT"UNE":LOCATE 8,17:PRINT"SOUPE" 1700 FOR I=1 TO 10000:NEXT I 1710 GOTO 1720 1720 PAPER 5:CLS:PEN 7:LOCATE 1,10:INPUT "VOULEZ VOUS REJOUER (O/N)";B$:IF B$="O" OR B$="o" THEN 1740 1730 PEN 0:PRINT CHR$(24):CLS:MODE 1:END 1740 RUN 1750 REM ------------------------------ 1760 REM MUSIQUE 'IL PLEUT BERGERE...` 1770 SOUND 1,142,30,15:SOUND 1,119,60,15:SOUND 1,142,30,15:SOUND 1,119,60,15:SOUND 1,142,30,15:SOUND 1,179,90,15:SOUND 1,239,60,15:SOUND 1,0,30 1780 SOUND 1,179,30,15:SOUND 1,190,30,15:SOUND 1,179,30,15:SOUND 1,159,60,15:SOUND 1,159,30,15:SOUND 1,142,90,15:SOUND 1,142,60,15:SOUND 1,0,30 1790 SOUND 1,142,30,15:SOUND 1,159,30,15:SOUND 1,142,30,15:SOUND 1,134,60,15:SOUND 1,134,30,15:SOUND 1,119,90,15:SOUND 1,142,60,15:SOUND 1,0,30 1800 SOUND 1,119,30,15:SOUND 1,106,30,15:SOUND 1,119,30,15:SOUND 1,134,30,15:SOUND 1,142,30,15:SOUND 1,159,60,15:SOUND 1,0,30 1810 SOUND 1,159,30,15:SOUND 1,142,30,15:SOUND 1,159,30,15:SOUND 1,159,60,15:SOUND 1,134,30,15:SOUND 1,142,90,15:SOUND 1,119,90,15 1820 SOUND 1,134,30,15:SOUND 1,142,30,15:SOUND 1,159,30,15:SOUND 1,142,60,15:SOUND 1,179,30,15:SOUND 1,142,90,15:SOUND 1,159,60,15 1830 SOUND 1,142,30,15:SOUND 1,119,60,15:SOUND 1,142,30,15:SOUND 1,119,60,15:SOUND 1,142,30,15:SOUND 1,134,90,15:SOUND 1,106,90,15:SOUND 1,119,30,15:SOUND 1,106,30,15:SOUND 1,119,30,15:SOUND 1,159,60,15:SOUND 1,142,30,15:SOUND 1,179,120,15 1840 FOR I=1 TO 2000:NEXT I:RETURN |