10 '************************************
20 '**** MACHINES **** 30 '**** Version 464-664-6128 **** 40 '**** JEAN REINGOT **** 50 '**** Avril 1987 **** 60 '************************************ 70 ' 80 ' INITIALISATIONS 90 ' 100 CLS:DEG:INK 0,13:INK 1,0:INK 2,2:INK 3,6:BORDER 13:PAPER 0 110 DIM f$(15),m$(15),n$(15),h(15) 120 FOR i=1 TO 3:c$(i)=CHR$(15)+CHR$(i):NEXT 130 ap$=" Appuyez sur une touche ":ef$=STRING$(24,32):ef1$=STRING$(14,32) 140 WINDOW#1,4,9,11,15:WINDOW#2,13,28,11,15:WINDOW#3,32,36,11,15:WINDOW#4,35,39,3,4 150 ENV 1,1,15,2,5,-3,4 160 ENV 2,1,15,1,15,-1,2 170 ENV 3,1,15,1,4,-20,2,7,-10,4 180 ENT 1,1,-100,1,5,25,3 190 ' 200 ' REDEFINITIONS SYMBOLES 210 ' 220 SYMBOL AFTER 180 230 SYMBOL 181,24,126,126,255,255,126,126,24 240 SYMBOL 182,60,66,129,129,129,129,66,60 250 SYMBOL 183,255,255,255,255,255,255,255,255 260 SYMBOL 184,255,129,129,129,129,129,129,255 270 SYMBOL 185,0,0,24,60,60,24 280 SYMBOL 186,0,0,24,36,36,24 290 SYMBOL 187,0,0,60,60,60,60 300 SYMBOL 188,0,0,60,36,36,60 310 SYMBOL 200,0,56,40,40,40,40,56 320 SYMBOL 201,0,8,24,40,8,8,8 330 SYMBOL 202,0,56,40,56,8,16,56 340 SYMBOL 203,0,56,8,48,8,8,56 350 SYMBOL 204,0,8,16,32,40,56,8 360 SYMBOL 205,0,56,32,56,8,8,56 370 SYMBOL 206,0,56,32,32,56,40,56 380 SYMBOL 207,0,56,8,24,8,8,8 390 SYMBOL 208,0,56,40,56,40,40,56 400 SYMBOL 209,0,56,40,56,8,8,56 410 SYMBOL 210,0,46,106,170,42,42,46 420 SYMBOL 211,0,34,102,170,34,34,34 430 SYMBOL 212,0,46,106,174,34,36,46 440 SYMBOL 213,0,46,98,172,34,34,46 450 SYMBOL 214,0,34,100,168,42,46,34 460 SYMBOL 215,0,46,104,174,34,34,46 470 SYMBOL 216,255,128,131,130,131,130,130,255 480 SYMBOL 217,255,1,193,65,193,129,65,255 490 SYMBOL 218,255,128,129,128,128,128,128,255 500 SYMBOL 219,255,1,193,129,129,129,1,255 510 SYMBOL 220,255,128,129,129,129,129,128,255 520 SYMBOL 221,255,1,193,1,1,193,1,255 530 SYMBOL 222,255,128,156,144,144,156,128,255 540 SYMBOL 223,255,1,57,17,17,17,1,255 550 SYMBOL 224,255,128,129,129,129,129,128,255 560 SYMBOL 225,255,1,193,1,129,1,1,255 570 SYMBOL 226,255,128,156,144,152,144,128,255 580 SYMBOL 227,255,1,57,17,17,17,1,255 590 SYMBOL 228,255,128,156,144,152,144,128,255 600 SYMBOL 229,255,1,57,33,33,57,1,255 610 SYMBOL 230,255,128,187,162,178,163,128,255 620 SYMBOL 231,255,1,157,9,9,137,1,255 630 SYMBOL 232,255,128,129,130,131,130,128,255 640 SYMBOL 233,255,1,129,65,193,65,1,255 650 SYMBOL 234,255,128,140,146,158,146,128,255 660 SYMBOL 235,255,1,57,17,17,17,1,255 670 SYMBOL 236,255,128,140,146,158,146,128,255 680 SYMBOL 237,255,1,57,33,33,57,1,255 690 SYMBOL 238,255,128,153,165,189,165,128,255 700 SYMBOL 239,255,1,221,9,9,201,1,255 710 SYMBOL 240,255,128,140,146,158,146,128,255 720 SYMBOL 241,255,1,57,33,49,33,1,255 730 SYMBOL 242,255,128,153,165,189,165,128,255 740 SYMBOL 243,255,1,221,9,137,9,1,255 750 SYMBOL 244,255,128,153,165,189,165,128,255 760 SYMBOL 245,255,1,221,17,145,29,1,255 770 SYMBOL 246,255,128,184,144,150,150,128,255 780 SYMBOL 247,255,1,9,13,169,233,1,255 790 SYMBOL 248,0,4,6,255,255,6,4 800 ' 810 ' ASSEMBLAGE SYMBOLES 820 ' 830 FOR i=0 TO 1:FOR j=0 TO 1:FOR k=0 TO 1:FOR l=0 TO 1:f$(i*8+j*4+k*2+l)=c$(k+2)+CHR$(181+l*4+j*2+i):NEXT:NEXT:NEXT:NEXT 840 FOR i=0 TO 15:n$(i)=c$(1)+CHR$(200+i):NEXT 850 FOR i=0 TO 15:m$(i)=c$(1)+CHR$(216+i*2)+CHR$(217+i*2):NEXT 860 FOR i=0 TO 7:READ no$(i):NEXT 870 GOSUB 2820 880 ' 890 ' MENU 1 900 ' 910 BORDER 12:PEN 2:LOCATE 19,4:PRINT "MENU":PEN 1:GOSUB 2660:LOCATE 7,7:PRINT "DEMONSTRATION........... 0" 920 LOCATE 7,10:PRINT "EXERCICES NIVEAU 1...... 1" 930 LOCATE 7,13:PRINT "EXERCICES NIVEAU 2.......2" 940 LOCATE 7,16:PRINT "CHAINE DE MACHINES.......3" 950 LOCATE 14,21:PEN 3:PRINT "VOTRE CHOIX ?" 960 R$=INKEY$:IF r$="" THEN 960 970 r=VAL(r$):IF r>3 OR r<0 THEN PRINT CHR$(7):GOTO 960 980 CLS:ON r+1 GOSUB 1030,1480,1930,2050 990 CLS:GOTO 910 1000 ' 1010 ' DEMONSTRATION 1020 ' 1030 GOSUB 2660:BORDER 25 1040 PEN 3:LOCATE 3,2:PRINT "On dispose de 8 figures":LOCATE 5,3:PRINT "numerotees de 0 a 7":PEN 1 1050 FOR i=0 TO 1:FOR j=0 TO 1:FOR k=0 TO 1 1060 v=k+j*2+i*4:va=6+v*2 1070 LOCATE 4,va:PRINT v;+" "+CHR$(255)+" "+no$(i+2)+" "+no$(j+4)+" "+no$(k+6)+" "+CHR$(255)+" "+f$(v):PEN 1 1080 NEXT:NEXT:NEXT 1090 SOUND 1,63,10,15,1:SOUND 1,47,63,15,1 1100 LOCATE 15,24:PRINT ap$:CALL &BB18:CLS 1110 GOSUB 2660:LOCATE 3,2:PRINT "On dispose de 8 Machines":LOCATE 5,3:PRINT "numerotees de 0 a 7" 1120 FOR i=0 TO 7:PEN 2:LOCATE 2,7+i*2:PRINT i;SPC(31);CHR$(255)+" "+m$(i):NEXT 1130 LOCATE 5,7:PRINT "ne change RIEN ................" 1140 LOCATE 5,9:PRINT "change la TAILLE .............." 1150 LOCATE 5,11:PRINT "change la COULEUR ............." 1160 LOCATE 5,13:PRINT "change la COULEUR et la TAILLE." 1170 LOCATE 5,15:PRINT "change la FORME ..............." 1180 LOCATE 5,17:PRINT "change la FORME et la TAILLE .." 1190 LOCATE 5,19:PRINT "change la FORME et la COULEUR ." 1200 LOCATE 5,21:PRINT "change FORME,COULEUR et TAILLE " 1210 SOUND 1,47,10,15,1:SOUND 1,63,15,15,1 1220 LOCATE 15,24:PRINT ap$:CALL &BB18:CLS 1230 GOSUB 2660:BORDER 23:a=15 1240 LOCATE 2,2:PRINT " Exemples ":GOSUB 2670 1250 FOR i=1 TO 5:RANDOMIZE TIME 1260 GOSUB 1410 1270 ORIGIN 288,176:h(2)=INT(RND*8):z=h(2):GOSUB 2340 1280 GOSUB 1420 1290 z=h(1) XOR h(2):c=(z OR 5)ç 2:t=8-(z OR 6):ORIGIN 544,200:GOSUB 2320 1300 GOSUB 1430:GOSUB 1440 1310 NEXT i 1320 GOSUB 2660:BORDER 22:LOCATE 2,2:PRINT" Autres exemples " 1330 FOR i=1 TO 5:RANDOMIZE TIME 1340 GOSUB 1410 1350 h(2)=INT(RND*8):z=h(2):c=(z OR 5)ç 2:t=8-(z OR 6):ORIGIN 544,200:GOSUB 2320 1360 GOSUB 1420 1370 z=h(1) XOR h(2):ORIGIN 288,176:GOSUB 2340 1380 GOSUB 1430:GOSUB 1440 1390 NEXT i 1400 RETURN 1410 h(1)=INT(RND*8):z=h(1):c=(z OR 5)ç 2:t=8-(z OR 6):ORIGIN 96,200:GOSUB 2320:RETURN 1420 FOR j=1 TO 80:SOUND 12,800+j*2,4,15,3,1:SOUND 33,240-j*3,2,15,1:NEXT:RETURN 1430 LOCATE 14,24:PRINT ap$:RETURN 1440 SOUND 1,63,10,15,1:SOUND 1,47,10,15,3:CALL &BB18:CLS#1:CLS#2:CLS#3:LOCATE 14,24:PRINT ef$:RETURN 1450 ' 1460 ' PROGRAMME PRINCIPAL 1470 ' 1480 GOSUB 2660:PEN 3:LOCATE 16,3:PRINT "NIVEAU:";r:FOR i=1 TO 8:PEN 2:LOCATE 2,3+i*2:PRINT i;" Exercice No:";i;" ";(i+1)ç 2;CHR$(255);" machine":NEXT 1490 FOR i=3 TO 8:LOCATE 37,3+i*2:PRINT "s":NEXT 1500 PEN 3:LOCATE 10,21:PRINT "Votre choix ? (de 1 a 8)" 1510 PEN 1:LOCATE 3,24:PRINT " ENTER pour valider ou continuer" 1520 ch$=INKEY$:IF ch$="" THEN 1520 1530 ch=VAL(ch$):IF ch>8 OR ch<1 THEN PRINT CHR$(7):GOTO 1520 1540 CLS:a=15:BORDER 15+ch 1550 GOSUB 2660:GOSUB 2670:GOSUB 2720:GOSUB 2770 1560 PEN 3:LOCATE 15,24:PRINT ch:sc=0:n=0:BORDER ch+10 1570 FOR x=1 TO 10 1580 CLS#4 1590 FOR i=1 TO (ch+3)ç 2 1600 h(i)=INT(RND*8*r) 1610 NEXT i 1620 ORIGIN 96,200:z=h(1):c=(z OR 13)ç 7+1:t=16-(z OR 14):GOSUB 2320 1630 IF ch/2<>chç 2 THEN k=(ch+1)ç 2-1:fl=1 ELSE k=(ch-2)/2:fl=2 1640 ON fl GOSUB 1750,1810 1650 ON fl GOSUB 1880,1890 1660 INPUT#4,w 1670 FOR i=1 TO 50:SOUND 1,420*fl-i*2,3,15,1:SOUND 1,0,3,0:NEXT 1680 IF fl=1 THEN CLS #3 ELSE LOCATE #2,2,3:PRINT #2,CHR$(32) 1690 ON fl GOSUB 1790,1870 1700 z=h(1) XOR h(2) XOR h(3) XOR h(4) XOR h(5):IF z=w THEN GOSUB 1730 ELSE GOSUB 1740 1710 n=n+1:PEN 2:LOCATE 36,24:PRINT n:CALL &BB18:CLS #1:CLS #2:CLS #3 1720 NEXT x 1730 LOCATE #4,1,1:PRINT #4," OUI ":sc=sc+1:LOCATE 28,24:PEN 2:PRINT sc:SOUND 1,60,20,15,1:SOUND 1,47,20,15,1:SOUND 1,40,40,15,1:RETURN 1740 LOCATE #4,1,1:PRINT#4," NON ":SOUND 3,430,60,15,,,INT(RND*20)+1:RETURN 1750 FOR i=0 TO k 1760 ORIGIN 288-32*(i*2-k),176:z=h(i+2):GOSUB 2340 1770 NEXT i 1780 RETURN 1790 z=w 1800 ORIGIN 544,200:c=(z OR 13)ç 7+1:t=16-(z OR 14):GOSUB 2320:RETURN 1810 z=h(2):GOSUB 1800 1820 IF ch=2 THEN RETURN 1830 FOR i=0 TO k-1 1840 ORIGIN 288-32*(i*2-k),176:z=h(i+3):GOSUB 2340 1850 NEXT i 1860 RETURN 1870 ORIGIN 288-32*((ch-2)/2),176:z=w:GOSUB 2340:RETURN 1880 FOR i=1 TO 50:LOCATE #3,3,3:PEN #3,i MOD 2:SOUND 1,200-i*2,3,15,1:PRINT #3,CHR$(63):NEXT:PEN #3,1:LOCATE #3,3,3:PRINT #3,CHR$(63): RETURN 1890 FOR i=1 TO 50:LOCATE #2,2,3:PEN #2,i MOD 2:SOUND 1,830-i*2,3,15,1:PRINT #2,CHR$(63):NEXT:PEN #2,1:LOCATE #2,2,3:PRINT #2,CHR$(63):RETURN 1900 ' 1910 ' PRESENTATION NIVEAU 2 1920 ' 1930 CLS:GOSUB 2660:PEN 3:LOCATE 16,3:PRINT "NIVEAU 2":PEN 1 1940 LOCATE 4,6:PRINT "On ajoute une quatrieme propriete" 1950 LOCATE 10,8:PRINT "aux figures: l'ASPECT" 1960 LOCATE 9,10:PRINT "Elles peuvent donc etre":LOCATE 12,12:PEN 2:PRINT "VIDES ou PLEINES" 1970 PEN 1:LOCATE 6,14:PRINT "On dispose donc maintenant de:" 1980 PEN 2:LOCATE 7,16:PRINT "16 FIGURES et de 16 MACHINES" 1990 PEN 1:LOCATE 10,18:PRINT "numerotees de 0 a 15." 2000 LOCATE 14,24:PRINT ap$ 2010 CALL &BB18:CLS:GOTO 1480 2020 ' 2030 ' CHAINE DE MACHINES 2040 ' 2050 GOSUB 2660:BORDER 17:LOCATE 12,5:PEN 3:PRINT "CHAINE DE MACHINES" 2060 LOCATE 3,8:PEN 1:PRINT "Il faut taper le numero de la figure":LOCATE 10,10:PRINT"qui sort de la machine." 2070 LOCATE 3,12:PEN 2:PRINT"Choisissez la longueur de la chaine" 2080 LOCATE 16,15:PEN 1:PRINT "<De 1 a 5>" 2090 r$=INKEY$:IF r$="" THEN 2090 2100 R1=VAL(R$):IF R1>5 OR r1<1 THEN PRINT CHR$(7):GOTO 2090 ELSE CLS 2110 GOSUB 2660 2120 PLOT 0,326:DRAW 640,326:PLOT 0,48:DRAW 640,48:PLOT 536,400:DRAW 536,326:PLOT 256,0:DRAW 256,48:PLOT 418,0:DRAW 418,48 2130 LOCATE 18,24:PRINT "FORCE:";r1:LOCATE 28,24:PRINT "POINTS:" 2140 SC=0:h=TIME 2150 r=2:GOSUB 2770 2160 h(0)=INT(RND*16) 2170 FOR k=0 TO r1-1 2180 ORIGIN 32,296-k*52:z=h(0):c=(z OR 13)ç 7+1:t=16-(z OR 14):GOSUB 2320 2190 FOR i=0 TO 4:h(i+1)=INT(RND*16):z=h(i+1):ORIGIN 56+i*112,272-k*52:GOSUB 2340 2200 LOCATE 2,24:INPUT "Figure No:";w 2210 z=h(0) XOR h(i+1):IF z=w THEN LOCATE 36,3:SOUND 1,63,20,15,3:PRINT "OUI":ORIGIN 32+(I+1)*112,296-k*52:c=(z OR 13)ç 7+1:t=16-(z OR 14):GOSUB 2320:sc=sc+1:LOCATE 35,24:PRINT sc:H(0)=Z:LOCATE 2,24:PRINT EF1$:GOTO 2230 2220 SOUND 1,430,20,15,,,20:CLS:GOTO 2110 2230 NEXT:h(0)=z:NEXT 2240 h=(TIME-h)/300:LOCATE 35,2:PRINT "TEMPS":LOCATE 35,3:PRINT USING "###.#";h:LOCATE 36,4:PRINT "sec" 2250 SOUND 1,60,10,15,1:SOUND 3,47,10,15,2:SOUND 1,30,20,15,3 2260 LOCATE 2,24:PEN 1:PRINT"Une autre (O/N) 2270 r$=INKEY$:IF r$="" THEN 2270 2280 IF r$="o" OR r$="O" THEN CLS:GOTO 2050 ELSE RETURN 2290 ' 2300 ' DESSINS FIGURES-MACHINES 2310 ' 2320 ON z+1 GOSUB 2360,2360,2360,2360,2380,2380,2380,2380,2370,2370,2370,2370,2390,2390,2390,2390 2330 RETURN 2340 ON z+1 GOSUB 2400,2410,2420,2430,2440,2450,2460,2470,2480,2490,2500,2510,2520,2530,2540,2550 2350 RETURN 2360 FOR j=-a*t TO a*t STEP 2:PLOT -SQR((a*t)^2-j^2),j,c:DRAW SQR((a*t)^2-j^2),j:NEXT:RETURN 2370 PLOT a*t,0,c:FOR g=0 TO 360 STEP 10:DRAW a*t*COS(g),a*t*SIN(g):NEXT:RETURN 2380 FOR j=-a*t TO a*t STEP 2:PLOT j,-a*t,c:DRAW j,a*t:NEXT:RETURN 2390 PLOT -a*t,-a*t,c:DRAW a*t,-a*t:DRAW a*t,a*t:DRAW -a*t,a*t:DRAW -a*t,-a*t:RETURN 2400 GOSUB 2620:PLOT 24,16:DRAW 24,32:DRAW 40,32:DRAW 40,24:DRAW 24,24:DRAW 32,24:DRAW 40,16:PLOT 26,16:DRAW 26,30:DRAW 38,30:DRAW 38,26:DRAW 26,26:DRAW 38,16:RETURN 2410 GOSUB 2620:PLOT 32,16:GOSUB 2610:RETURN 2420 GOSUB 2620:PLOT 38,32:GOSUB 2600:RETURN 2430 GOSUB 2620:PLOT 24,32:GOSUB 2600:PLOT 44,16:GOSUB 2610:RETURN 2440 GOSUB 2620:PLOT 24,16:GOSUB 2590:RETURN 2450 GOSUB 2620:PLOT 16,16:GOSUB 2590:PLOT 44,16:GOSUB 2610:RETURN 2460 GOSUB 2620:PLOT 16,16:GOSUB 2590:PLOT 50,32:GOSUB 2600:RETURN 2470 GOSUB 2620:PLOT 6,16:GOSUB 2590:PLOT 37,32:GOSUB 2600:PLOT 48,16:GOSUB 2610:RETURN 2480 GOSUB 2620:PLOT 24,16:GOSUB 2580:RETURN 2490 GOSUB 2620:PLOT 14,16:GOSUB 2580:PLOT 40,16:GOSUB 2610:RETURN 2500 GOSUB 2620:PLOT 14,16:GOSUB 2580:PLOT 48,32:GOSUB 2600:RETURN 2510 GOSUB 2620:PLOT 6,16:GOSUB 2580:PLOT 38,32:GOSUB 2600:PLOT 49,16:GOSUB 2610:RETURN 2520 GOSUB 2620:PLOT 12,16:GOSUB 2580:PLOT 40,16:GOSUB 2590:RETURN 2530 GOSUB 2620:PLOT 6,16:GOSUB 2580:PLOT 24,16:GOSUB 2590:PLOT 48,16:GOSUB 2610:RETURN 2540 GOSUB 2620:PLOT 6,16:GOSUB 2580:PLOT 24,16:GOSUB 2590:PLOT 56,32:GOSUB 2600:RETURN 2550 GOSUB 2620:PLOT 16,14:DRAW 16,32:PLOT 14,14:DRAW 14,32:PLOT 8,32:DRAW 24,32:PLOT 8,30:DRAW 24,30:PLOT 22,14:DRAW 22,24:DRAW 32,24:DRAW 32,14:DRAW 22,14:PLOT 24,16:DRAW 24,22:DRAW 30,22:DRAW 30,16:DRAW 24,16 2560 PLOT 38,24:DRAW 38,14:DRAW 48,14:DRAW 48,24:DRAW 46,24:DRAW 46,16:DRAW 40,16:DRAW 40,24:PLOT 54,14:DRAW 54,32:DRAW 56,32:DRAW 56,14:PLOT 54,28:DRAW 58,28:PLOT 54,26:DRAW 58,26 2570 RETURN 2580 DRAWR 8,16:DRAWR 8,-16:PLOTR -14,4:DRAWR 12,0:PLOTR -12,-4:DRAWR 6,14:DRAWR 6,-14:PLOTR -8,6:DRAWR 4,0:RETURN 2590 DRAWR 0,16:DRAWR 14,0:PLOTR -14,-7:DRAWR 8,0:DRAWR 0,2:DRAWR -6,0:PLOTR 0,-10:DRAWR 0,14:DRAWR 12,0:RETURN 2600 DRAWR -12,0:DRAWR 0,-16:DRAWR 12,0:PLOTR 0,2:DRAWR -10,0:DRAWR 0,12:DRAWR 10,0:RETURN 2610 DRAWR 0,16:PLOTR 2,-16:DRAWR 0,16:PLOTR -8,0:DRAWR 14,0:PLOTR 0,-2:DRAWR -14,0:RETURN 2620 PLOT 0,0,1:DRAW 64,0:DRAW 64,48:DRAW 0,48:DRAW 0,0:PLOT 2,2:DRAW 62,2:DRAW 62,46:DRAW 2,46:DRAW 2,2:RETURN 2630 ' 2640 ' SOUS-PROGRAMMES CADRES 2650 ' 2660 ORIGIN 0,0:DRAW 639,0,1:DRAW 639,399:DRAW 0,399:DRAW 0,0:PLOT 2,2:DRAW 637,2:DRAW 637,397:DRAW 2,397:DRAW 2,2:RETURN 2670 PEN 1:LOCATE 4,9:PRINT "ENTREE MACHINES SORTIE" 2680 ORIGIN 40,144:GOSUB 2710 2690 ORIGIN 184,144:DRAW 272,0:DRAW 272,136:DRAW 0,136:DRAW 0,0:PLOT 0,108:DRAW 272,108 2700 ORIGIN 488,144:GOSUB 2710:RETURN 2710 DRAW 112,0,1:DRAW 112,136:DRAW 0,136:DRAW 0,0:PLOT 0,108:DRAW 112,108:RETURN 2720 ORIGIN 0,0:PLOT 0,44,1:DRAW 639,44:PLOT 0,124:DRAW 639,124:PLOT 0,314:DRAW 639,314:PLOT 536,400:DRAW 536,314 2730 LOCATE 3,20:PRINT "MACHINES":FOR i=0 TO 7:LOCATE 15+i*3,19:PRINT m$(i):SOUND 1,127-i*10,10,15,1:LOCATE 16+i*3,20:PRINT n$(i):NEXT 2740 IF r=2 THEN FOR i=8 TO 15:LOCATE -9+i*3,21:PRINT m$(i):LOCATE -8+i*3,22:PRINT n$(i):NEXT 2750 PEN 1:LOCATE 3,24:PRINT "EXERCICE No: SCORE: SUR:" 2760 RETURN 2770 FOR i=0 TO r*8-1:ORIGIN 24+i*32*(3-r),370:z=i:c=(z OR 13)ç 7+1:t=16-(z OR 14):a=8:GOSUB 2320:SOUND 1,120-i*5,10,15,1:NEXT 2780 PEN 1:FOR i=0 TO r*8-1:LOCATE 2+i*2*(3-r),4:PRINT n$(i);:SOUND 1,120-i*5,10,15,1:NEXT:RETURN 2790 ' 2800 ' PRESENTATION 2810 ' 2820 p$(1)="1000100110001100100101010010111100110" 2830 p$(2)="1000101001010010100101010010100001001" 2840 p$(3)="1101101001010000100101011010100001000" 2850 p$(4)="1010101111010000111101010110111000110" 2860 p$(5)="1000101001010000100101010010100000001" 2870 p$(6)="1000101001010010100101010010100001001" 2880 p$(7)="1000101001001100100101010010111100110" 2890 INK 1,26:ORIGIN 0,0:INK 2,1:INK 3,3 2900 DIM p(7,37) 2910 FOR i=1 TO 7 2920 FOR j=1 TO 37 2930 p(i,j)=VAL(MID$(p$(i),j,1)) 2940 NEXT:NEXT 2950 FOR s=0 TO 1 2960 FOR i=1 TO 7 2970 FOR j=1 TO 37 2980 h=INT(RND*8)*2+(1-s) 2990 SOUND 33,430+i*12,2,15,s,s,10 3000 LOCATE 19,24:PRINT f$(h) 3010 SOUND 12,60+i*6,2,15,s,s 3020 IF p(i,j)=1 THEN PLOT 300,32,1:DRAW 16*j,391-(i+s*8)*16:LOCATE j,i+s*8:PRINT f$(h):PLOT 300,32:DRAW 16*j,391-(i+s*8)*16,0 ELSE GOTO 3030 3030 NEXT j 3040 NEXT i 3050 INK 2,2:INK 3,6:INK 1,24 3060 NEXT s 3070 INK 1,0:LOCATE 19,24:PRINT CHR$(32) 3080 PEN 1:FOR i=0 TO 6:FOR j=1 TO 37:SOUND 57,850-j*20,5,9+i,2,1:SOUND 58,120+J*20,5,9+I,1,1:SOUND 60,1200-i*75,2,15,2,1:LOCATE j,17+i:IF MID$(p$(i+1),j,1)="1" THEN PRINT CHR$(143) 3090 NEXT:NEXT 3100 FOR i=1 TO 300:INK 1,INT(RND*26)+1:INK 2,INT(RND*26)+1:INK 3,INT(RND*26)+1:SOUND 12,340-i,3,15,1:SOUND 33,600+i*2,2,14,1:NEXT 3110 INK 1,0:INK 2,2:INK 3,6 3120 FOR h=0 TO 1000:NEXT:CLS 3130 RETURN 3140 DATA "Plein ","Vide ","Disque","Carre ","Bleu ","Rouge ","Grand ","Petit " |