1000 '-------------------
1010 '***   R O C K   ***
1020 '------------------- 
1030 '
1040 '    Realise par
1050 ' Stephane Vallois.
1060 '
1070 '-------------------
1080 '
1085 'Tape par Eric R. (59264 ONNAING) dans l'amstar No19
1090 BORDER 0:INK 0,0:INK 1,26:PAPER 0:PEN 1:MODE 2
1100 MEMORY 35000
1110 DEFINT a,b,l,t
1120 i=36590:f=39854:l=1250
1130 WHILE i<f
1140 LOCATE 1,1:PRINT "INITIALISATION - Temps restant"(2980-l)/10
1150 READ a$
1160 t=0
1170 FOR a=0 TO 31
1180 b=VAL("&"+MID$(a$,(a*2)+1,2))
1190 POKE i+a,b
1200 t=t+b
1210 NEXT
1220 IF HEX$(t,4)<>RIGHT$(a$,4) THEN PRINT CHR$(7)"ERREUR en ligne"l:END
1230 i=i+32:l=l+10
1240 WEND:i=FRE("")
1250 DATA 21709411B98801E703EDB021239111C192010A00EDB0AFCD0EBC211CC70605C5-0CFA
1260 DATA E511579BCD1492E101040009C110F021E0C60605C5E511579BCD1492E1010400-0CE3
1270 DATA 09C110F02100C00614C5E511579BCD1492E101040009C110F021A4C0060AC5E5-0CD4
1280 DATA 11179BD5E5CD1492E101440009D1CD1492E101A00009C110E511060F3ACA92FE-0D5E
1290 DATA 45C8D5CD41922A209101E1FF097EFE37CA5A92CD7C922A20913E4877CDAD902A-0F97
1300 DATA 20913E3677D1D5CD19BDCD19BDCD19BDCD19BDCD2D913E2FCD1EBB20753E4BCD-0F57
1310 DATA 1EBB20513E4ACD1EBB202D3E49CD1EBB20623E48CD1EBB20793E01CD1EBB2035-0B73
1320 DATA 3E08CD1EBB20113E02CD1EBB20463E00CD1EBB205DD118842A20912BCD9A90D1-0C05
1330 DATA D57A3DD1573A1F91CB8FEE01321F91CDD291C36A8F2A209123CD8790D1D57A3C-0FF3
1340 DATA D1573A1F91CBCFEE01321F91CDD291C36A8FC1C92A2091011F0009CD5E90D1D5-0F58
1350 DATA 7B3CD15F3A1F91EE01321F91CDD291C36A8F2A209101E1FF09CD5E90D1D57B3D-0F6C
1360 DATA D15F3A1F91EE01321F91CDD291C36A8F7EFE30281FFE32281BFE372817FE3128-0E08
1370 DATA 0CFE36C8E5CD6192E13E3677C93E3677CD5C92C9D1D1C36A8F7EFE3220D2237E-1150
1380 DATA FE3620F03E32772B3E3677C97EFE3220BF2B7EFE3620DD3E3277233E3677C93E-0D6D
1390 DATA 0032229121168C0112032B7EFE32282BFE332815FE342816FE352817FE37282B-09C2
1400 DATA 0B78B120E5CDE691C93E347718F23E357718ED3E337718E8E118E5E5111F0019-0E1C
1410 DATA 7EFE3620F3E13E377718D5E5111F00197EFE3620093E3777E13E367718C2FE48-0D60
1420 DATA 28053EFF322291E13E327718B3D1D1D1C9020000003A3B3C3030303030300021-0A12
1430 DATA FAC0E57BC6055F7AC60543211988111F001910FD5F160019E5DDE1E10609C5E5-0DAF
1440 DATA 48060FC5E579FE05203278FE08202DE5DDE5E1222091E1DD233A1F91FE00280D-0DF9
1450 DATA FE01280EFE02280F11179A183311979A182E11D79A182911579A1824DD7E00DD-0A3A
1460 DATA 23FE37CACC91D6301600CB27CB27CB27CB27CB27CB27CB125FE521579819EBE1-0F5D
1470 DATA CD1492E111040019C11098DDE5E111100019E5DDE1E111A00019C11081C911D7-0E19
1480 DATA 98C3AE91D5E521DD91CDAABCE1D1C90202020000010F01003A2291FE00C8D5E5-0F15
1490 DATA 21F791CDAABCE1D1C981030300001E0F3C00D5E5210B92CDAABCE1D1C9040404-0E79
1500 DATA 0100000F0F00E5CD1D92E1015000090608E51A7723131A7723131A7723131A77-0794
1510 DATA 13E17CC6086710E9C97CC608D01150C8197CC97BC6055F7AC60543219C88111F-0DAA
1520 DATA 001910FD5F160019222091C9D1C921C892180D3ACA923C32CA92CD009221C792-0CC3
1530 DATA 7EFE3928033C77C93E30772B18F2FD21C19221F6C60609C5E5FD7E00D62F4721-0E65
1540 DATA AB921120001910FDE5DDE1E1E50608C5E50604DD7E007723DD2310F7E1CD3792-0F32
1550 DATA 67CD379267C110E7E123232323FD23C110C5C93A3B3C30303030303000FFFFFF-0DD6
1560 DATA AAFF0055AAFF0055AAFF0055AAFF0055AAFF0055AAFFFFFFAA000000000000FF-0F46
1570 DATA AA000055AA000055AA000055AA000055AA000055AA000055AA00000000FFFFFF-09A1
1580 DATA AA000055AA000055AAFFFFFFAAFF000000FF000000FFFFFFAA00000000FFFFFF-0EF1
1590 DATA AA000055AA000055AA00FFFFAA000055AA000055AAFFFFFFAA00000000FF0000-0BF4
1600 DATA 00FF000000FF000000FFFFFFAA000055AA000055AA000055AA00000000FFFFFF-0B9F
1610 DATA AAFF000000FF000000FFFFFFAA000055AA000055AAFFFFFFAA00000000FF0000-0CF3
1620 DATA 00FF000000FF000000FFFFFFAAFF0055AAFF0055AAFFFFFFAA00000000FFFFFF-1045
1630 DATA AA000055AA000055AA000055AA000055AA000055AA000055AA00000000FFFFFF-09A1
1640 DATA AAFF0055AAFF0055AAFFFFFFAAFF0055AAFF0055AAFFFFFFAA00000000FFFFFF-12ED
1650 DATA AAFF0055AAFF0055AAFFFFFFAA000055AA000055AA000055AA00000000000000-0B4A
1660 DATA 00FFAAFFAAAA00AA00FFAAAA0000AAAA00FFAAFFAA0000000000000000000000-0B9F
1670 DATA 00FFAAFFAAAAAAAAAAAAAAFF00AAAAAAAAFFAAAAAA0000000000000000000000-0DF2
1680 DATA 00FFAA0000AA005500FFAA0000AA005500FFAA00000000000000000000000000-06F9
1690 DATA 0000303030303030303030303030303030303030303030303030303030303030-05A0
1700 DATA 3030303030303030303030303030303030303030303030303030303030303030-0600
1710 DATA 3030303030303030303030303030303030303030303030303030303030303030-0600
1720 DATA 3030303030303030303030303030303030303030303030303030303030303030-0600
1730 DATA 3030303030323232303130323032303232323032323232323232323232303030-0625
1740 DATA 3030303032313333363232303230313133303131313131313131313130303030-0624
1750 DATA 3030303131303136303230323031323430363030303030363636363030303030-0632
1760 DATA 3030313030303030323131303132353036303636363636363636303030303030-0643
1770 DATA 3031323636363032303430333135363630363533363631303130303030303030-064C
1780 DATA 3632333633303230353030313030303036333536363132353030303030303036-0644
1790 DATA 3233333330323033303131323636363636363636313631303030303030303030-064C
1800 DATA 3030303031303030313031303232323232323130363030303030303030303233-061B
1810 DATA 3136363231343131303130303030303030363036363030303030303030313430-062E
1820 DATA 3134323130313030313033313235313236323636303030303030303135303030-0632
1830 DATA 3532313031313131303431323431323631363630303030303030313032303030-0630
1840 DATA 3136303030303030353132333132363636363030303030303031323232323031-0637
1850 DATA 3630323232323033313235313236363636303030303030303133343533303130-0645
1860 DATA 3032323232303030323030323036303630303030303030323232323430313036-062B
1870 DATA 3434343430323032303131333130363030303030303033353433353031303636-0641
1880 DATA 3636363033303130303030303036303030303030303432323232303030363636-063A
1890 DATA 3636303636343031313131313130303030303030313131313132303636313131-0638
1900 DATA 3130363635303131313131313030303030303032323232313230363634333534-063F
1910 DATA 3036363030313131313131303030303030303131313131323036363635343430-0638
1920 DATA 3636343631313131313130303030303030313232323232303636363635363636-0656
1930 DATA 3130303030303030303030303030303031313131313131363636363636363031-0633
1940 DATA 3032303230323235303030303030303232313232313130313131313131303131-0620
1950 DATA 3131313131313030303030303030343434343431313031313131313130303430-0626
1960 DATA 3630363030303030303030303030303030303030303030303030303030303030-060C
1970 DATA 3030303030303030303030303030303030303030303030303030303030303030-0600
1980 DATA 3030303030303030303030303030303030303030303030303030303030303030-0600
1990 DATA 3030303030303030303030303030303030303030303030303030303030303030-0600
2000 DATA 303030303030303030F2F0A0F3F0F0A0F2F0F0A0F000000000F051F3F0F051F0-115C
2010 DATA F0F050F0F000000000F2F0A0F3F0F0A0F2F0F0A0F000000000F051F3F0F051F0-13BC
2020 DATA F0F050F0F000000000A8A8A8A854545454A8A8A8A854545454A8A8A8A8545454-0F8C
2030 DATA 54A8A8A8A854545454A8A8A8A854545454A8A8A8A854545454A8A8A8A8545454-0FC0
2040 DATA 54A8A8A8A854545454003030001030342810343C2810343C3C303C3C3C303C3C-0830
2050 DATA 3C303C3C3C303C3C3C343C303C343C343434383C3C343C3C3C343C3C28143C3C-06E4
2060 DATA 28143C3C00003C28000000000000FFAA005500550055555500AAAA00AAAAAA00-07BC
2070 DATA AAAAAA00AAAA0000AAAA0000AAAA0000AAAA0000AAAA0000AA55005500550055-0AA0
2080 DATA 0000FFAA0000000000000000000000000000FFAA005500550055555500AAAA00-064F
2090 DATA AAAAAA00AAAA0000AAAA0000AAAA0000AAAA0000AA550055005500550000FFAA-0AF5
2100 DATA 00000000000000000000000000000000000000000000FFAA0055005500555555-0352
2110 DATA 00AAAA00AAAA0000AAAA0000AAAA0000AA550055005500550000FFAA00000000-08F7
2120 DATA 0000000000000000000000000000000000000000000000000000000000000000-0000
2130 DATA 0000000000000000000000000000000000000000000000000000000000000000-0000
2140 DATA 00000000000000000000CF8A0045CFCF0045CFA20045DBF30000F3A20000CF00-0969
2150 DATA 0001478A2A01033F3F1503173F152B020045CF8A000103020000CF000000CF00-0570
2160 DATA 00003F0000003F2A0000CF8A0045CFCF0045CFA20045DBF30000F3A20000CF00-0A11
2170 DATA 0001478A2A01033F3F1503173F152B020001CF8A004503470045CFCF003F8A3F-0702
2180 DATA 003F2A3F2A152A152A0045CF0000CFCF8A0051CF8A00F3E78A0051F3000000CF-0AAD
2190 DATA 0015458B023F3F03023F2B032A0001172A0045CF8A000103020000CF000000CF-0585
2200 DATA 0000003F0000153F000045CF0000CFCF8A0051CF8A00F3E78A0051F3000000CF-09F0
2210 DATA 0015458B023F3F03023F2B032A0001172A0045CF02008B038A00CFCF8A003F45-071D
2220 DATA 3F153F153F152A152A44824482448244824482448244C6C68244CCC38200CCC3-0C3F
2230 DATA 000044820000448200004482000044820000CCC30044CCC38244C6C682448244-0A58
2240 DATA 824482448244824482C3C3C3C3C3C3C3C3CCC3CCCCCCC9C6CC00CCC3000044C9-129C
2250 DATA 82C3C3C3C3C3C3C3C3CCC9C6CCCCC3CCCCC9820044C30000CCC3C3C3C3C3C3C3-155B
2260 DATA C3CCCCCCCCCCCCCCCC0000000000000000000000000000000000000000000000-0723
2270 DEFINT i:DEG:DIM si(720),co(720):FOR i=0 TO 720:si(i)=SIN(i-360):co(i)=COS(i-360):LOCATE 31,1:PRINT INT((720-i)/10):NEXT:DEFREAL i
2280 FOR i=1 TO 30:a$=INKEY$:NEXT:PRINT:PRINT"Moniteur: 'C' Couleur / 'M' Monochrome ?"
2290 a$=INKEY$:IF UPPER$(a$)="C" THEN coul=1:ELSE IF UPPER$(a$)="M" THEN coul=0:ELSE 2290
2300 ENV 3,15,-1,4:ENT 4,15,20,1
2310 FOR i=1 TO 8:s$(i)="00000 ...":NEXT
2320 MODE 0
2330 IF coul=0 THEN INK 1,26:BORDER 11*1.7:FOR i=0 TO 9:INK i+2,(i+2)*1.7:NEXT:INK 12,26
2340 IF coul=1 THEN INK 1,24:BORDER 0:INK 2,1:INK 3,2:INK 4,11:INK 5,14:INK 6,20:INK 7,14:INK 8,11:INK 9,2:INK 10,1:INK 11,0:INK 12,6
2350 FOR i=0 TO 9:FOR j=0 TO 19:PLOT 0,40*i+2*j,i+2:DRAWR 640,0:NEXT j,i
2360 DEFINT d,i:PLOT 7000,7000,12
2370 x1=40:y1=236
2380 DEG
2390 d=90
2400 FOR i=1 TO 40:GOSUB 2670:NEXT
2410 FOR d=90 TO -135 STEP -2:GOSUB 2670:NEXT
2420 FOR d=-135 TO -0 STEP 4:GOSUB 2670:NEXT
2430 x1=x1+20:y1=y1+68
2440 FOR d=90 TO -270 STEP -2:GOSUB 2670:NEXT
2450 x1=x1+232:y1=y1-42
2460 FOR d=224 TO -44 STEP -2:GOSUB 2670:NEXT
2470 x1=x1+20:y1=y1-100:d=90
2480 FOR i=1 TO 67:GOSUB 2670:NEXT
2490 d=210:x1=x1+96:y1=y1-16
2500 FOR i=1 TO 40:GOSUB 2670:NEXT
2510 FOR d=d TO 325 STEP 12:GOSUB 2670:NEXT
2520 FOR i=1 TO 60:GOSUB 2670:NEXT
2530 FOR d=d TO 360 STEP 2::GOSUB 2670:NEXT:d=d-360
2540 FOR i=1 TO 3:GOSUB 2670:NEXT
2550 PAPER 11:PEN 15:INK 15,26,0:SPEED INK 50,12:PRINT">PRESSEZ UNE TOUCHE<":PAPER 0:PEN 1
2560 WINDOW #1,9,19,15,24:CLS #1:PRINT CHR$(22)+CHR$(1)
2570 PEN 12:LOCATE 3,17:PRINT"TABLE"
2580 LOCATE 5,19:PRINT"DES"
2590 LOCATE 2,21:PRINT"SCORES":PRINT CHR$(22)+CHR$(0):PEN 1
2600 FOR i=1 TO 8:LOCATE #1,2,i+1:PRINT #1,s$(i):NEXT
2610 IF sp<>0 THEN GOSUB 2850
2620 FOR i=1 TO 30:a$=INKEY$:NEXT
2630 IF INKEY$="" THEN 2630 ELSE DEFREAL a-z
2640 IF coul=0 THEN FOR i=2 TO 15:INK i,i*1.7:NEXT
2650 IF coul=1 THEN INK 3,12:INK 4,2:INK 5,3:INK 6,11:INK 7,18:INK 8,22:INK 9,24:INK &B,9:INK &D,16:INK &E,20:INK &F,26
2660 BORDER 0:CALL 36590:GOTO 2750
2670 'd=(d+360) MOD 360
2680 co=co(d+360)
2690 si=si(d+360)
2700 x1=x1+2*co
2710 y1=y1+2*si
2720 PLOT x1,y1:DRAWR 20*si,-20*co
2730 PLOT x1,y1-2:DRAWR 20*si,-20*co
2740 RETURN
2750 IF PEEK(37578)=69 THEN 3000
2760 MODE 0:FOR i=26 TO 0 STEP -1:INK 0,i:BORDER i:SOUND 1,0,10,15,0,0,i:NEXT
2770 MODE 0:FOR i=26 TO 0 STEP -1:INK 0,i:BORDER i:SOUND 1,0,10,15,0,0,27-i:NEXT
2780 t$="":FOR i=37573 TO 37577:t$=t$+CHR$(PEEK(i)):NEXT:s=VAL(t$)
2790 IF s<=VAL(LEFT$(s$(8),5)) THEN GOTO 2840
2800 t$=STR$(s):s$(8)=RIGHT$("00000"+RIGHT$(t$,LEN(t$)-1),5)+CHR$(32)+"..."
2810 FOR i=8 TO 2 STEP -1
2820 IF VAL(LEFT$(s$(i),5))>VAL(LEFT$(s$(i-1),5)) THEN t$=s$(i-1):s$(i-1)=s$(i):s$(i)=t$:NEXT
2830 sp=i:GOTO 2320
2840 sp=0:GOTO 2320
2850 x=16:y=15+sp:t$="":FOR i=1 TO 30:a$=INKEY$:NEXT
2860 FOR i=1 TO 3:GOSUB 2900
2870 t$=t$+a$:x=x+1:NEXT
2880 s$(sp)=LEFT$(s$(sp),6)+t$
2890 RETURN
2900 LOCATE x,y:PAPER 15:PRINT" "
2910 a$=INKEY$:IF a$="" THEN 2910 ELSE IF ASC(a$)<32 OR ASC(a$)>126 THEN GOTO 2910
2920 LOCATE x,y:PAPER 0:PEN 1:PRINT a$:RETURN
3000 FOR i=1 TO 51:PRINT:NEXT:MODE 0 
3010 PRINT "  VOUS AVEZ GAGNE.":FOR i=1 TO 3000:NEXT:GOTO 2780