fonctions interressantes : POINT dans sa syntaxe point(A) et GPRINT avec filtre logique (OR, XOR, AND)
le listing
Code : Tout sélectionner
5 CLEAR :DEGREE :CLS :WAIT 0:CURSOR 5,0:PRINT "DUNGEON MONSTER"
10 CURSOR 1,1:PRINT "par:Tortue Geniale(E500)
11 CURSOR 1,2:PRINT "Adaptation par charognard":CURSOR 0,3:PRINT "tapez une touche..."
12 A=31
13 IF A<151LET B=POINT (A):GCURSOR A-1,0:GPRINT OR ,B;:A=A+1
14 IF INKEY$ =""THEN 13
15 SO=1
16 DIM GR$(12),CH$(0)*80,ME$(0)*80
17 RESTORE 6000
18 FOR GR=0TO 12:READ GR$(GR):NEXT GR
20 B$="FFFFFFFFFFFFFFFF":C$="0000000000000000":DIM PV(3):DIM G(3):G(1)=149:G2)=179
21 G(3)=209:LE=1:DIM OBJ$(3),TR$(2)*80,NO(3),C(20,20):X=1:Y=2:X1=1:Y1=2
23 TR$(0)="l'objet est la cle du niveau mais utilisable par un magicien uniquement
24 TR$(1)="mais seul 1 magicien peut l'utiliser "
25 TR$(2)=" a lamentablement glisse sur une merde de chien "
30 G=91:P=1:PV(1)=81:PV(2)=54:PV(3)=32:DIM N$(3):N$(1)="Haalk":N$(2)="Angela"
31 N$(3)="Gothmog":N=1:DIM M(3)
40 CLS :CURSOR 2,1:PRINT "Please":CURSOR 3,2:PRINT "wait
42 GOSUB "SON":GCURSOR 151,6:GPRINT "4177497741"
45 A=1:B=1:X=X+1:A2=90:A1=0:X1=X1+1:X2=X1:Y2=Y1
50 GOSUB "DIRECT"
70 GCURSOR 91,1:GPRINT "000000000CF8387C3EFF3E7C38F80C00000000000000"
80 GCURSOR 91,9:GPRINT "00E0100808C40F23854505A30FC4080810E000000000"
90 GCURSOR 109,1:GPRINT "00000000000000F8FC0CA60E06A60CFCF800000000000000"
100 GCURSOR 109,9:GPRINT "000000C020904827E7E2E24545E2E2E727489020C0000000"
110 GCURSOR 137,1:GPRINT "806090ECF2CF31C0":GCURSOR 129,9
111 GPRINT "00000000C0300E113E7F7F7F3F3F3F1C031C20C000"
120 LINE (91,0)-(109,17),,,B:LINE (111,0)-(129,17),,,B:LINE (131,0)-(149,17),,,B
125 IF P<>1THEN LINE (G+1,1)-(G+17,16),X,,BF
130 IF P<>2THEN LINE (G+21,1)-(G+37,16),X,,BF
135 IF P<>3THEN LINE (G+41,1)-(G+57,16),X,,BF
140 LINE (63,0)-(83,20),,,B
142 GCURSOR 52,0:GPRINT "1E051E000C12001F02":GCURSOR 52,6:GPRINT "1F0501001408140201
145 GCURSOR 52,12:GPRINT "11191513151C14141C14
147 GOSUB "MISAJOUR
150 RESTORE 5000+100*LE
155 LINE (64,1)-(82,19),,,B
160 FOR I=0TO 19:C(I,0)=1:C(I,1)=1:C(I,19)=1
170 C(0,I)=1:C(1,I)=1:C(19,I)=1:NEXT I
180 'LIT NIV
190 READ S,T,U:IF S=-1THEN 211
200 C(S,T)=U:IF LEV<4AND U=1THEN PSET (S+63,T)
210 GOTO 180
211 O1=RND 9+15
220 FOR Q=10TO 25
221 V=RND 18:W=RND 18:IF C(V,W)<>0OR (V=XAND W=Y)THEN 221ELSE LET C(V,W)=Q
223 NEXT Q
224 FOR Q1=1TO 4:FOR Q=31TO 40
225 V=RND (18):W=RND (18):IF C(V,W)<>0OR (V=XAND W=Y)THEN 225ELSE LET C(V,W)=Q
226 NEXT Q:NEXT Q1
229 GOTO 250
230 'AFF+DEP
235 GCURSOR 151,6:GPRINT "0000000000
240 A$=INKEY$ :IF CL=0THEN LINE (X+63,Y)-(X+63,Y),X,,BF
241 CL=CL+1:IF CL=10THEN LET CL=0
242 IF A$=""AND C2<21THEN 240ELSE IF A$=""THEN LET U=U+1:IF U<60THEN 240ELSE LET U=0:GOSUB "TRUC":GOTO 240
245 GOSUB "VIDE"
246 PRESET (X+63,Y)
247 GCURSOR 151,6:GPRINT "4177497741
250 IF A$=" "THEN "SPACE"
260 IF A$="A"THEN "ACT"
265 IF A$="F"THEN "FRAP"
266 IF A$="Z"THEN "ZZ"
267 IF A$="S"LET SO=ABS (SO-1):GOSUB "SON":BEEP SO,100,30:GOTO 235
270 IF A$="8"AND A=0AND B=-1LET Y1=Y-1
280 IF A$="8"AND A=0AND B=1LET Y1=Y+1
290 IF A$="8"AND A=1AND B=0LET X1=X+1
300 IF A$="8"AND A=-1AND B=0LET X1=X-1
310 IF A$="2"AND A=0AND B=-1LET Y1=Y+1
320 IF A$="2"AND A=0AND B=1LET Y1=Y-1
330 IF A$="2"AND A=1AND B=0LET X1=X-1
340 IF A$="2"AND A=-1AND B=0LET X1=X+1
350 IF A$="4"AND A=0AND B=-1LET X1=X-1
360 IF A$="4"AND A=0AND B=1LET X1=X+1
370 IF A$="4"AND A=1AND B=0LET Y1=Y-1
380 IF A$="4"AND A=-1AND B=0LET Y1=Y+1
390 IF A$="6"AND A=0AND B=-1LET X1=X+1
400 IF A$="6"AND A=0AND B=1LET X1=X-1
410 IF A$="6"AND A=1AND B=0LET Y1=Y+1
420 IF A$="6"AND A=-1AND B=0LET Y1=Y-1
430 IF A$="7"LET A1=A1+90:A2=A2+90
440 IF A$="9"LET A1=A1-90:A2=A2-90
450 IF A1>360LET A1=90
460 IF A2>360LET A2=90
470 IF A1<0LET A1=270
480 IF A2<0LET A2=270
490 GOSUB "DIRECT
530 IF C(X1,Y1)=1OR C(X1,Y1)>20LET X1=X2:Y1=Y2:GOSUB 1330:GOTO 230ELSE LET X=X1:Y=Y1:X2=X1:Y2=Y1
540 FOR J=0TO 24STEP 8
550 GCURSOR 0,J:GPRINT C$;C$;C$;C$;C$;C$;"00000000"
560 NEXT J
570 A=COS A1:B=COS A2
580 K2=X+A:L2=Y+B
590 IF A=0AND B=-1THEN LET K3=X+1,L3=Y-1,K4=X-1,L4=Y-1,K5=X,L5=Y-2,K6=X+1,L6=Y-2,K7=X-1
595 IF A=0AND B=-1THEN LET L7=Y-2,K8=X-1,L8=Y,K9=X+1,L9=Y
600 IF A=0AND B=1THEN LET K3=X-1,L3=Y+1,K4=X+1,L4=Y+1,K5=X,L5=Y+2,K6=X-1,L6=Y+2,K7=X+1
605 IF A=0AND B=1THEN LET L7=Y+2,K8=X+1,L8=Y,K9=X-1,L9=Y
610 IF A=1AND B=0THEN LET K3=X+1,L3=Y+1,K4=X+1,L4=Y-1,K5=X+2,L5=Y,K6=X+2,L6=Y+1,K7=X+2
615 IF A=1AND B=0THEN LET L7=Y-1,K8=X,L8=Y-1,K9=X,L9=Y+1
620 IF A=-1AND B=0THEN LET K3=X-1,L3=Y-1,K4=X-1,L4=Y+1,K5=X-2,L5=Y,K6=X-2,L6=Y-1,K7=X-2
625 IF A=-1AND B=0THEN LET L7=Y+1,K8=X,L8=Y+1,K9=X,L9=Y-1
630 C1=C(X,Y),C2=C(K2,L2),C3=C(K3,L3),C4=C(K4,L4),C5=C(K5,L5),C6=C(K6,L6)
631 C7=C(K7,L7),C8=C(K8,L8),C9=C(K9,L9)
632 PSET (X+63,Y)
640 IF C2=1THEN GOSUB "MUR2":GOTO 710ELSE IF C2=2LET U=1:GOSUB "SORT1"ELSE IF C2=3LET U=-1:GOSUB "SORT2"
650 IF C8=1THEN GOSUB "MUR6"ELSE IF C4=1THEN GOSUB "MUR8"
660 IF C9=1THEN GOSUB "MUR7"ELSE IF C3=1THEN GOSUB "MUR9"
670 IF C4<>1AND C7=1THEN GOSUB "TOURNE1"ELSE IF C4=1GOSUB "MUR3"ELSE GOSUB "NOIR2"
680 IF C3<>1AND C6=1THEN GOSUB "TOURNE2"ELSE IF C3=1GOSUB "MUR4"ELSE GOSUB "NOIR3"
690 IF C5=1THEN GOSUB "MUR5"ELSE GOSUB "NOIR"
710 IF C1=3OR (C1=2AND NO(3)=O1)THEN GOTO "LEV"
711 IF C2=1THEN PSET (K2+63,L2)
712 IF C3=1THEN PSET (K3+63,L3)
713 IF C4=1THEN PSET (K4+63,L4)
719 IF C1>=10AND C1<=30THEN BEEP SO,50,30:GOSUB "OBJET"
720 IF C1=O1THEN BEEP SO,180,30:ME$(0)=TR$(0):GOSUB "AFF"
721 IF C1=25THEN GOSUB "HASARD":ME$(0)=N$(P1)+TR$(2):GOSUB "AFF":NO=0:C(X,Y)=0
722 IF C2>30THEN GOSUB "MONST"
725 IF C2=4THEN GOSUB "FONT"
726 IF C1=4THEN GOSUB "JOU":GOSUB "MISAJOUR"
729 GOTO 230
730 "MUR6"LINE (0,0)-(3,2):LINE -(3,29):LINE -(0,30):RETURN
740 "MUR7"LINE (51,0)-(48,2):LINE -(48,29):LINE -(51,30):RETURN
750 "MUR2"LINE (0,0)-(51,31),,,B:LINE (25,0)-(25,31):RETURN
760 "TOURNE1"LINE (3,9)-(13,23),,,B:RETURN
770 "MUR3"LINE (3,2)-(13,9):LINE -(13,23):LINE -(3,29):LINE (8,5)-(8,26):RETURN
780 "MUR4"LINE (48,2)-(36,9):LINE -(36,23):LINE -(48,29):LINE (42,5)-(42,26):RETURN
790 "TOURNE2"LINE (36,9)-(48,23),,,B:RETURN
800 "MUR5"LINE (13,9)-(36,23),,,B:LINE (25,9)-(25,23):RETURN
805 "PORTE"LINE (17,5)-(32,26),,,B:LINE (18,6)-(31,25),R,,BF:LINE (8,5)-(17,26),,,B
806 LINE (9,6)-(16,25),R,,BF:LINE (31,5)-(42,26),,,B:LINE (32,6)-(41,25),R,,BF
807 LINE (26,15)-(29,15):LINE (29,16)-(28,16):RETURN
810 "NOIR"
820 GCURSOR 13,8:GPRINT B$:GCURSOR 21,8:GPRINT B$:GCURSOR 29,8:GPRINT B$
830 GCURSOR 13,15:GPRINT B$:GCURSOR 21,15:GPRINT B$:GCURSOR 29,15:GPRINT B$
840 RETURN
850 "MUR8"LINE (0,2)-(3,2):LINE -(3,29):LINE -(0,29):RETURN
860 "MUR9"LINE (51,2)-(48,2):LINE -(48,29):LINE -(51,29):RETURN
870 "NOIR2"
880 GCURSOR 3,8:GPRINT B$:GCURSOR 6,8:GPRINT B$:GCURSOR 3,15:GPRINT B$:GCURSOR 6,15:GPRINT B$
890 RETURN
900 "NOIR3"
910 GCURSOR 36,8:GPRINT B$:GCURSOR 41,8:GPRINT B$:GCURSOR 36,15:GPRINT B$:GCURSOR 41,15:GPRINT B$
920 RETURN
930 "SORT1"
931 LINE (9,29)-(15,25):LINE -(34,25):LINE -(42,29):LINE -(9,29)
932 LINE (24,29)-(24,20):LINE (34,29)-(34,20):LINE (24,27)-(34,27):LINE (24,21)-(34,21)
933 RETURN
934 "SORT2"
935 LINE (9,2)-(15,6):LINE -(34,6):LINE -(42,2):LINE -(9,2)
936 LINE (24,2)-(24,11):LINE (34,2)-(34,11):LINE (24,4)-(34,4):LINE (24,10)-(34,10)
939 RETURN
940 "SPACE"LINE (G+1,1)-(G+17,16),X,,BF:G=G+20
960 IF G>131THEN LET G=91
970 LINE (G+1,1)-(G+17,16),X,,BF:P=P+1:IF P>3THEN LET P=1
980 BEEP SO,10,30
981 GOSUB 1005
990 GOTO 230
1000 "MISAJOUR"GCURSOR 87,19:GPRINT OR ,"1F0502000C100C000A
1001 FOR PE=1TO 3:GCURSOR 77+PE*20,19:CH$=STR$ PV(PE):GOSUB "FONT5"
1002 IF M(PE)=0THEN LINE (77+PE*20,19)-(90+PE*20,23),R,,BF:GPRINT OR ,CH$(0)+"0000000000"
1003 IF M(PE)=1THEN LINE (77+PE*20,19)-(90+PE*20,23),R,,BF:GPRINT OR ,"1F050D12001F001F050502
1004 NEXT PE
1005 CURSOR 9,3:PRINT USING "&&&&&&&&&&&&&&&&&";N$(P)+"["+OB$(P)+"]":USING
1010 RETURN
1020 "ACT"
1025 IF M(P)=1THEN 235
1030 CURSOR 10,3:PRINT "ange aisse rends";:MA$=""
1031 GCURSOR 52,24:GPRINT "FE82F6EEF682FE":GCURSOR 84,24:GPRINT "FE82BEBEFE":GCURSOR 120,24:GPRINT "FE82EAF6FE
1032 K$=INKEY$ :IF K$=""THEN 1032
1033 GOSUB "VIDE":GCURSOR 52,24:GPRINT C$
1034 IF K$="M"THEN IF NO>=5AND NO<=10LET PV(P)=PV(P)+RND OB:MA$="MIAM MIAM":BEEP SO,200,30
1035 IF K$="M"THEN IF NO>=5AND NO<=10LET C(X,Y)=0ELSE LET MA$="INDIGESTE!":PV(P)=PV(P)-2
1036 IF K$="P"LET OB$(P)=OB$:C(X,Y)=0:NO(P)=NO
1037 IF K$="L"AND C(X,Y)=0LET C(X,Y)=NO(P):NO(P)=0:OB$(P)=""ELSE IF K$="L"THEN LET MA$="PAS ICI!
1038 IF MA$<>""THEN CURSOR 9,3:PAUSE MA$
1040 GOSUB "VIDE":GOSUB "MISAJOUR":GOTO 230
1120 "HASARD"P1=RND 3
1130 IF M(P1)=1THEN 1120
1140 RETURN
1150 "AFF"TA$=MID$ (" "+ME$(0)+" ",N,16)
1160 IF INKEY$ =CHR$ (12)THEN WAIT 0ELSE WAIT 20
1170 IF RIGHT$ (TA$,3)=" "LET N=1:WAIT 0:RETURN
1190 CURSOR 9,3:PRINT TA$:N=N+1:GOTO 1150
1200 "MORT"
1210 LINE (G(P1),1)-(G(P1)+24,17),X,,BF:PV(P1)=0:M(P1)=1
1215 IF M(1)=1AND M(2)=1AND M(3)=1THEN CLS :FOR I=0TO 239STEP 8:FOR J=7TO 31STEP 8:GCURSOR (I,J)
1216 IF M(1)=1AND M(2)=1AND M(3)=1THEN GPRINT "00406070747E3410":NEXT J:NEXT I:CURSOR 9,1:PRINT "GAME OVER!":END
1220 RETURN
1230 "LEV"
1240 CLS :CURSOR 15,1:PAUSE "LET'S GO ON !!!!"
1250 LE=LE+U:ERASE C():OB$(3)="":NO(3)=0
1255 IF LE=7THEN "FIN
1260 CLS :GOTO 40
1270 "OBJET"
1280 RESTORE 3000
1290 READ NO,OB$,OB
1300 IF NO<>C(X,Y)THEN 1290
1310 CURSOR 9,3:PRINT OB$
1320 RETURN
1330 "COGN"
1340 FOR P1=1TO 3:IF PV(P1)>0LET PV(P1)=PV(P1)-1
1341 IF PV(P1)=0AND M(P1)=0THEN GOSUB "MORT"
1345 NEXT P1
1346 GCURSOR 32,24:GPRINT C$+C$
1350 CURSOR 9,3:PRINT "AIE!!":BEEP SO,100,30:GOSUB "MISAJOUR"
1360 RETURN
1370 "MONST"
1380 RESTORE 3020
1390 READ NM,MO$,PM
1395 IF NM<>C2THEN 1390
1396 CURSOR 9,3:PRINT MO$
1400 ON NM-30GOTO "VER","CHE","SPE","DEM","FLA","POD","LIM","GRO","PON","PLU"
1401 "VER"GCURSOR 13,12:GPRINT "0000000000000080C0C0C0C0C04040489090A0A060A04080":GCURSOR 13,20
1402 GPRINT "000000000000472F5A1F1F5A2F4F08080404040405050201":RETURN
1403 "CHE"GCURSOR 10,12
1404 GPRINT "000030F0C080FCFEFFFCF080E03818000000000000C0F0FCFFFCF0C0000000"
1405 GCURSOR 10,20:GPRINT "0000000001231F3F1F0F1F2F0300000000000000104E3F07"
1406 GCURSOR 34,20:GPRINT "2F1F3F1F1F2E0000":RETURN
1407 "SPE"GCURSOR 13,4:GPRINT "000000000000010304183CFEFFFE3C180403010000000000":GCURSOR 13,12
1408 GPRINT "00010204085038540AFD01143C407D8506847C0000000000"
1409 GCURSOR 21,20:GPRINT "007E81817F81817E":RETURN
1410 "FRAP"
1411 IF (C2=0OR C2=1)AND M(P)=0THEN CURSOR 9,3:PRINT "coup pour rien!":GOTO 235
1415 IF M(P)=1THEN 235
1420 PM=PM-INT (PV(P)/4)+1
1425 GCURSOR 32,25:CH$=STR$ (PM):GOSUB "FONT5":GPRINT CH$(0)+"0000
1430 IF PM<=0THEN LET C(K2,L2)=0:CURSOR 9,3:PRINT "tu";CHR$ (130);"!! ":GOTO 270
1440 GOSUB "TRUC
1450 GOTO 235
1999 "TRUC"
2000 IF RND 3<3THEN GOSUB 1120:PV(P1)=PV(P1)-RND 5:CURSOR 9,3:PRINT "AIE! ":GOSUB 1000:IF PV(P1)<0THEN GOSUB 1200
2001 GCURSOR 32,24:GPRINT C$+C$
2002 RETURN
2020 "DEM"GCURSOR 18,12:GPRINT "0000000001C2ECFEFEECE261C0986018"
2025 GCURSOR 18,20:GPRINT "02040202245B8F0F0F8F592006010000":RETURN
2030 "FLA"GCURSOR 18,12:GPRINT "1CE00E30CC020C10E0080601F80700C"
2035 GCURSOR 18,20:GPRINT "1863849CF9E4FCF8FDFFF3781C030000":RETURN
2040 "POD"GCURSOR 18,12:GPRINT "C626580838041C04041C0438085846C6"
2045 GCURSOR 18,20:GPRINT "010205080E101C10101C100E08050201":RETURN
2050 "LIM"GCURSOR 18,12:GPRINT "002024284848F0C0F8E45350880C0280"
2055 GCURSOR 18,20:GPRINT "0000040422118F413F41810608010100":RETURN
2060 "GRO"GCURSOR 18,12:GPRINT "000040E060F84402C23C000000000000"
2065 GCURSOR 18,20:GPRINT "0000000001000003641C1C1C7C020200":RETURN
2070 "PON"GCURSOR 18,12:GPRINT "00003048456952202052694548300000"
2075 GCURSOR 18,20:GPRINT "00000008183C040402028E0600000000":RETURN
2080 "PLU"GCURSOR 18,12:GPRINT "0000242448D060BF60D0482424000000"
2085 GCURSOR 18,20:GPRINT "00000201011D030203031D0102000000":RETURN
2500 "ZZ"GOSUB "VIDE"
2510 LINE (0,0)-(51,31),S,,BF:GCURSOR 15,12:GPRINT XOR ,"81C1A191898583810088C8A898880088C8A89888
2520 IF INKEY$ <>""OR PV(1)>110OR PV(2)>87OR PV(3)>60THEN 270
2540 FOR E=1TO 3:PV(E)=PV(E)+2*(M(E)=0):NEXT E
2550 GOSUB "MISAJOUR":GOTO 2520
2600 "FIN"
2610 CLS :CURSOR 8,1:PRINT "BRAVO!!vous avez triomphe !":CURSOR 8,2:PRINT "quelle patiente!a la prochain
2620 END
2650 "FONT"
2651 GCURSOR 15,13:GPRINT "00420018442424FC924929294491000":GCURSOR 15,21
2652 GPRINT "F81414132222223F22222222121415F8":RETURN
2660 "JOU"
2662 FOR P2=1TO 3
2664 IF M(P2)<>0LET M(P2)=0:PV(P2)=20:LINE (G(P2),1)-(G(P2)+24,17),X,,BF
2665 NEXT P2:RETURN
2700 "SON"SO$="101C1F1C10":IF SO=0LET SO$="101C131C10"
2710 GCURSOR 151,0:GPRINT SO$:RETURN
2800 "FONT5"CH$(0)="":FOR GR=1TO LEN CH$
2810 CH$(0)=CH$(0)+GR$(ASC (MID$ (CH$,GR,1))-45)
2820 NEXT GR
2830 RETURN
2900 "VIDE"CURSOR 9,3:PRINT " ";:RETURN
2950 "DIRECT"GCURSOR 85,2:IF A1=90THEN GPRINT "04021F0204
2955 IF A1=360OR A1=0THEN GPRINT "08082A1C08
2960 IF A1=270THEN GPRINT "04081F0804
2965 IF A1=180THEN GPRINT "081C2A0808
2970 RETURN
3000 DATA 10,"LASAGNES",8,11,"CHAMPAGNE",3,12,"HAMBURGER",9,13,"BOUDIN",5
3005 DATA 14,"CHORIZO",7,15,"PIZZA",10
3010 DATA 16,"BROUETTE",0,17,"DENTIER",0,18,"PARACHUTE",0,19,"GOMME",0
3015 DATA 20,"ASPIRATEUR",0,21,"NOUNOURS",0,22,"ENCLUME",0,23,"CANAPE",0
3016 DATA 24,"SERVIETTE",0,25,"MERDE",0
3020 DATA 31,"VER GEANT",152,32,"SPECTRES",135,33,"CHEVALIER",210,34,"DEMON",85,35
3030 DATA "FLAMME",112,36,"PODDLE",112,37,"BROUTCHMOL",184,38,"VEXIRK",85
3035 DATA 39,"PONGE",101,40,"ARACHNO",111
5100 DATA 2,3,1,3,3,1,4,3,1,5,3,1,6,3,1,8,3,1,10,3,1,15,3,1
5101 DATA 8,2,1,15,2,1,9,11,4
5102 DATA 3,4,1,8,4,1,10,4,1,15,4,1,16,4,1,18,4,1
5103 DATA 3,5,1,8,5,1,10,5,1
5104 DATA 3,6,1,10,6,1
5105 DATA 8,7,1,9,7,1,10,7,1
5106 DATA 8,8,1
5107 DATA 8,9,1,10,9,1
5108 DATA 8,10,1,9,10,1,10,10,1,11,10,1,12,10,1
5109 DATA 8,11,1,12,11,1
5110 DATA 8,12,1,12,12,1
5111 DATA 8,13,1,9,13,1,11,13,1,12,13,1
5112 DATA 7,14,1,13,14,1,14,14,1,15,14,1,16,14,1,17,14,1
5113 DATA 4,15,1,5,15,1,6,15,1,2,16,1
5114 DATA 4,16,1,5,16,1,8,16,1,9,16,1,10,16,1,11,16,1,13,16,1,14,16,1,16,16,1,17,16,1
5115 DATA 8,17,1,9,17,1,11,17,1,13,17,1,14,17,1,16,17,1,17,17,1,9,2,2
5116 DATA 11,18,1,-1
5200 DATA 3,2,1,9,2,3
5201 DATA 3,3,1,4,3,1,7,3,1,14,3,1,16,3,1
5202 DATA 3,4,1,6,4,1,9,4,1,12,4,1,14,4,1,16,4,1,17,4,1
5203 DATA 3,5,1,5,5,1,8,5,1,12,5,1,16,5,1
5204 DATA 5,6,1,6,6,1,9,6,1,10,6,1,12,6,1,13,6,1
5205 DATA 2,7,1,3,7,1,5,7,1,8,7,1,14,7,1,16,7,1,17,7,1,18,7,1
5206 DATA 3,8,1,5,8,1,7,8,1,8,8,1,14,8,1
5207 DATA 5,9,1,8,9,1,14,9,1
5208 DATA 3,10,1,4,10,1,6,10,1,7,10,1,8,10,1,14,10,1,15,10,1,16,10,1
5209 DATA 16,11,1
5210 DATA 2,12,1,3,12,1,4,12,1,5,12,1,6,12,1,7,12,1,8,12,1,14,12,1,16,12,1
5211 DATA 8,13,1,14,13,1,16,13,1,17,13,1
5212 DATA 3,14,1,5,14,1,8,14,1,14,14,1,16,14,1
5213 DATA 9,15,1,11,15,1,12,15,1,13,15,1,16,15,1,18,15,1
5214 DATA 3,16,1,5,16,1,7,16,1,11,16,1,15,16,1
5215 DATA 9,17,1,11,17,1,13,17,1,14,17,1,17,17,1
5216 DATA 3,18,1,5,18,1,7,18,1,11,18,1,16,18,1,17,18,2,-1
5300 DATA 3,2,1,6,2,1,8,2,1,10,2,1,17,2,2
5301 DATA 10,3,1,13,3,1,16,3,1,18,3,1
5302 DATA 3,4,1,5,4,1,7,4,1,11,4,1,13,4,1,15,4,1,10,4,4
5303 DATA 3,5,1,4,5,1,5,5,1,6,5,1,7,5,1,8,5,1,9,5,1,10,5,1,11,5,1,15,5,1,17,5,1
5304 DATA 3,6,1,11,6,1,13,6,1,14,6,1,17,6,1
5305 DATA 3,7,1,5,7,1,6,7,1,7,7,1,8,7,1,10,7,1,13,7,1,16,7,1
5306 DATA 3,8,1,5,8,1,11,8,1,13,8,1,15,8,1,17,8,1
5307 DATA 3,9,1,5,9,1,7,9,1,8,9,1,9,9,1,10,9,1,11,9,1,17,9,1
5308 DATA 3,10,1,5,10,1,12,10,1,14,10,1,15,10,1,17,10,1
5309 DATA 3,11,1,6,11,1,7,11,1,8,11,1,9,11,1,10,11,1
5310 DATA 3,12,1,5,12,1,11,12,1,13,12,1,15,12,1,16,12,1,17,12,1,18,12,1
5311 DATA 3,13,1,6,13,1,9,13,1,10,13,1,12,13,1,13,13,1,15,13,1
5312 DATA 3,14,1,5,14,1,15,14,1,17,14,1
5313 DATA 3,15,1,6,15,1,8,15,1,9,15,1,10,15,1,12,15,1,13,15,1,15,15,1,17,15,1
5314 DATA 3,16,1,6,16,1,8,16,1,11,16,1,15,16,1,17,16,1
5315 DATA 3,17,1,4,17,1,5,17,1,6,17,1,13,17,1,15,17,1
5316 DATA 11,18,1,13,18,1,17,18,3,-1
5400 DATA 5,2,1,11,2,1,16,2,1,17,2,3
5401 DATA 3,3,1,5,3,1,7,3,1,8,3,1,9,3,1,11,3,1,14,3,1
5402 DATA 3,4,1,5,4,1,16,5,1,17,5,1,18,5,1
5403 DATA 3,5,1,5,5,1,6,5,1,7,5,1,8,5,1,9,5,1,10,5,1,11,5,1,13,5,1,14,5,1,16,5,1
5404 DATA 4,6,1,11,6,1
5405 DATA 11,7,1,13,7,1,14,7,1,15,7,1,16,7,1
5406 DATA 8,8,2,7,8,1,11,8,1,16,8,1,17,8,1,18,8,1
5407 DATA 2,9,1,3,9,1,4,9,1,11,9,1,12,9,1,14,9,1,16,9,1
5408 DATA 4,10,1,8,10,1,14,10,1
5409 DATA 4,11,1,7,11,1,10,11,1,12,11,1,16,11,1
5410 DATA 4,12,1,5,12,1,7,12,1,13,12,1,15,12,1,16,12,1,17,12,1
5411 DATA 8,13,1,9,13,1,10,13,1,11,13,1,12,13,1,16,13,1
5412 DATA 3,14,1,6,14,1,7,14,1,8,14,1,10,14,1,16,14,1
5413 DATA 5,15,1,8,15,1,10,15,1,12,15,1,13,15,1,17,15,1
5414 DATA 2,16,1,3,16,1,4,16,1,12,16,1,13,16,1,15,16,1,17,16,1
5415 DATA 4,17,1,7,17,1,8,17,1,9,17,1,10,17,1,15,17,1,17,17,1
5416 DATA 10,18,1,15,18,1,-1
5500 DATA 2,2,2,4,2,1,10,2,1,11,2,2,13,2,2,15,2,1
5501 DATA 2,3,1,4,3,1,6,3,1,7,3,1,8,3,1,10,3,1,11,3,1,13,3,1,15,3,1,17,3,1
5502 DATA 2,4,2,4,4,1,6,4,1,7,4,1,8,4,1,10,4,1,15,4,1,17,4,1
5503 DATA 2,5,1,4,5,1,6,5,1,7,5,1,8,5,1,10,5,1,11,5,1,12,5,1,14,5,1,15,5,1,17,5,1
5504 DATA 2,6,2,4,6,1,10,6,1,17,6,1
5505 DATA 2,7,1,4,7,1,7,7,1,8,7,1,9,7,1,10,7,1,11,7,1,12,7,1,16,7,1
5506 DATA 2,8,2,4,8,1,7,8,1,8,8,3,15,8,1,18,8,1
5507 DATA 2,9,1,7,9,1,8,9,1,9,9,1,11,9,1,16,9,1
5508 DATA 2,10,2,4,10,1,7,10,1,9,10,1,11,10,1,12,10,1,13,10,1,14,10,1,17,10,1
5509 DATA 2,11,1,4,11,1,7,11,1,11,11,1,16,11,1
5510 DATA 2,12,2,4,12,1,7,12,1,8,12,1,9,12,1,14,12,1,15,12,1
5511 DATA 2,13,1,4,13,1,7,13,1,11,13,1,13,13,1,15,13,1,16,13,1,17,13,1
5512 DATA 2,14,2,4,14,1,7,14,1,9,14,1,11,14,1,15,14,1
5513 DATA 2,15,1,4,15,1,7,15,1,9,15,1,10,15,1,13,15,1,14,15,1,15,15,1,16,15,1,17,15,1
5514 DATA 2,16,2,4,16,1,7,16,1,8,16,4,9,16,1,13,16,1,15,16,1
5515 DATA 2,17,1,4,17,1,7,17,1,8,17,1,9,17,1,13,17,1,15,17,1,17,17,1,18,17,1
5516 DATA 2,18,2,4,18,1,13,18,1,-1
5600 DATA 2,2,3,4,2,1,6,2,4,11,2,3,13,2,3
5601 DATA 2,3,1,4,3,1,16,3,4
5602 DATA 2,4,3,4,4,1
5603 DATA 2,5,1,4,5,1,9,5,4,13,5,4
5604 DATA 2,6,3,4,6,1,18,6,4
5605 DATA 2,7,1,4,7,1,5,7,4,11,7,4
5606 DATA 2,8,3,4,8,1,16,8,4
5607 DATA 2,9,1,4,9,1,5,9,1,6,9,1,7,9,1,8,9,1,9,9,1,10,9,1,14,9,1,15,9,1,16,9,1,17,9,1
5608 DATA 18,9,1,2,10,3,12,10,4,17,10,2,18,10,1
5609 DATA 2,11,1,4,11,1,5,11,1,6,11,1,7,11,1,8,11,1,9,11,1,10,11,1,14,11,1,15,11,1,16
5610 DATA 11,1,17,11,1,18,11,1,2,12,3,4,12,1
5611 DATA 2,13,1,4,13,1,6,13,4
5612 DATA 2,14,3,4,14,1,15,14,4
5613 DATA 2,15,1,4,15,1,10,15,4
5614 DATA 2,16,3,4,16,1,7,16,4,17,16,4
5615 DATA 2,17,1,4,17,1,12,17,4
5616 DATA 2,18,3,4,18,1,9,18,4,-1,1,1
6000 DATA "040400","","","0E11110E00","021F00","1219151200","1115150A00","0C0A1D0800"
6010 DATA "1715150900","0E15150900","0119070100","0A15150A00","0215150E00"
7000 A$=INKEY$ :IF A$=""THEN 7000
7001 PRINT ASC (A$)
7002 END
8000 CLS :CLEAR :DIM L(7)
8005 GCURSOR 0,0
8010 GPRINT "00C0300E113E7F7F7F3F3F3F1C031C20C000";
8015 FOR A=0TO 3:FOR B=0TO 5:CURSOR 0,2
8020 CO=POINT (6*A+B)
8025 FOR C=0TO 7
8030 L(C)=L(C)+(((COAND (INT (2^C+.001)))=INT (2^C+.001))*2)^(7-B)
8035 PRINT L(C);:NEXT C
8040 NEXT B:FOR C=0TO 7:L(C)=0:NEXT C:PAUSE "FIN "
8050 IF INKEY$ =""THEN 8050
8060 NEXT Alignes 5~14 : initialisation plus titrage, notez l'utilisation originale de la commande POINT qui sur le 1600 offre une syntaxe originale
lignes 5~45 : initialisation des variables
ligne 50 : appel du sous programme d'affichage de la flèche directionnelle (n'existe pas sur la version E500)
lignes 70~145 : graphisme de l'interface (personnages, touches d'appel, symboles..)
ligne 147 : appel du sous programme de mise à jour des persos
lignes 150~226 : constitution aléatoire des niveaux
lignes 230~729 : programme principal (gestion clavier, appel au differents sous programmes...)
lignes 730~939 : Sous programmes d'affichage de l'environnement
lignes 940~990 : Changement de personnage
lignes 1000~1010 : Sous programme de mise à jour des personnages
lignes 1020~1040 : Programme de gestion des actions disponibles
lignes 1120~1140 : Sous programme de selection aléatoire d'un personnage
lignes 1150~1220 : Sous programme de gestion de ligne d'affichage > 16 caractères
lignes 1230~1260 : On passe au niveau suivant
lignes 1280~1320 : Oh un objet
lignes 1330~1360 : Tiens, prend ça dans ta gueule...
lignes 1370~2085 : Oh un monstre
lignes 2500~2600 : Chut on dort !
lignes 2610~2620 : c'est la fin
lignes 2650~2652 : Oh une fontaine !
lignes 2660~2665 : Allelouia .. je suis vivant
lignes 2700~2710 : Cloche noir ça sonne, cloche blanche ça sonne plus
lignes 2800~2820 : Sous programme pour une police numérique de 5 pixel de haut
ligne 2900 : Nettoyage de la ligne commentaire
lignes 2950~2970 : Sous programme d'affichage de la direction
lignes 3000~6010 : Data (Bouffe, Objet, Monstre, Niveau, Font5)
lignes 7000~7002 : Un bout de code me servant à tester le code ASC d'une touche
lignes 8000~8060 : Oh le programme utile !!!, GPRINT de SHARP --> FONT$ du CANON X07
à venir : quelques photos d'écrans et en WAV l'adaptation partielle sur X07























