Zuvor muss auf der Joyce der Bascoder gestartet worden sein, aus dem Menü wird diese Datei hinzugeladen.
Code: Alles auswählen
1000 A=194:GOTO 20:REM *** MAZEZAM ***
1010 DIM R$(11):DIM Y(11):HO=14:VE=14
1310 HO=HO+1:R=HO:GOSUB 110:GOSUB 120:IF R=HO THEN 1310
1610 VE=VE+1:S=VE:GOSUB 110:GOSUB 120:IF VE=S THEN 1610
1910 GOSUB 100:VE=6:HO=(R-7)/2:GOSUB 110:PRINT"MazezaM":VE=S-6
1920 HO=0:GOSUB 110:PRINT"MOVE ijkl":PRINT"RETRY r"
1930 PRINT"SKIP s":PRINT"QUIT q":GOSUB 210
1940 IF IN$<>"q" THEN 1960
1950 GOTO 950
1960 RESTORE:Z=0:N$="":T=0
2210 GOSUB 250:T=T+1:IF T=31 THEN 1910
2220 GOSUB 4910:N=W:GOSUB 4910:M=W:GOSUB 4910:P=W:GOSUB 4910:Q=W
2230 F=0:FOR C=0 TO N-1:R$(C)="":Y(C)=0:FOR D=0 TO M-1:A$="ÿ"
2240 IF F=0 THEN GOSUB 4910:F=6
2250 F=F-1:G=INT(W/2)*2:IF W=G THEN A$=" "
2260 R$(C)=R$(C)+A$:W=G/2:NEXT D:NEXT C:U=INT((R-M)/2)
2270 V=INT((S-N)/2)
2510 GOSUB 100
2810 VE=V-1:HO=U-1:W=P:X=0:GOSUB 4610:FOR I=0 TO N-1:Y(I)=0
2820 VE=VE+1:GOSUB 110:A$="#":B$=A$:IF I=P THEN A$="ü"
2830 IF I=Q THEN B$="ü"
2840 PRINT A$;:GOSUB 4010:PRINT B$:NEXT I:VE=VE+1:GOSUB 4610
2850 HO=HO+1
3110 GOSUB 210:D=W:E=X:IF (IN$="i" OR IN=31) AND W>0 THEN D=W-1
3120 IF (IN$="k" OR IN=30) AND W<N-1 THEN D=W+1
3130 IF (IN$="j" OR IN=28) AND X>0 THEN E=X-1:F=1
3140 IF (IN$="l" OR IN=29) AND X<M-1 THEN E=X+1:F=M
3150 IF (IN$="l" OR IN=29) AND W=Q AND X=M-1 OR IN$="s" THEN 2210
3160 IF IN$="q" THEN 1910
3170 IF IN$="r" THEN 2810
3180 I=D:GOSUB 4310
3190 IF MID$(J$,E+1,1)=" " THEN I=W:W=D:X=E:GOSUB 3710:GOTO 3410
3200 IF X<>E AND MID$(J$,F,1)=" " THEN Y(W)=Y(W)+E-X:X=E
3410 I=W:GOSUB 3710:GOTO 3110
3710 VE=V+I:GOSUB 110
4010 GOSUB 4310:IF I<>W THEN PRINT J$;:RETURN
4020 IF X>0 THEN PRINT LEFT$(J$,X);
4030 PRINT CHR$(188);:IF X<M-1 THEN PRINT RIGHT$(J$,M-X-1);
4040 RETURN
4310 IF Y(I)=0 THEN J$=R$(I):RETURN
4320 IF Y(I)>0 THEN B=Y(I):C=M-B
4330 IF Y(I)<0 THEN C=-Y(I):B=M-C
4340 J$=RIGHT$(R$(I),B)+LEFT$(R$(I),C):RETURN
4610 GOSUB 110:PRINT LEFT$("#################",M+2):RETURN
4910 Z=Z+1:IF Z=LEN(N$)+1 THEN READ N$:Z=1
4920 B=ASC(MID$(N$,Z,1)):A=ASC("A"):G=ASC("a"):H=ASC("0")
4930 W=63:IF B>=A AND B<A+26 THEN W=B-A
4940 IF B>=G AND B<G+26 THEN W=B-G+26
4950 IF B>=H AND B<H+10 THEN W=B-H+52
4960 IF B=ASC("+") THEN W=62
4970 RETURN
25000 DATA "CFBAKBCHABykADHABmVZBDICBkTlKEFDDCtSCEHADq6oWCFHAE"
25010 DATA "cpQvKJDICCFQtdEHBCUspqDEOBD/2gZ20O4fCEHBB2UpDDGNAA"
25020 DATA "4D6zp7p8nLmqJFGDBCmW6EEICDcwOXKAGGAFUVUNN0EKACsy1Y"
25030 DATA "q7CEHADWk2hELFKAEtpocFlqJAEHCDKsRVOEPCAeeWbNavRzTF"
25040 DATA "ICC1sGq9gCELACuBzaerBAFIDBkjpuqJNEJDAiYP3QBHJGCyTa"
25050 DATA "6tJE3PEAGHAAy08CdPAKNHAAg8f6AT+l7MFZ63Ux5+DAAHJBEy"
25060 DATA "wq1w+0rJ6AKLAJAg+39oWA9/GuNYu+HAAHKAAaRdTF2OVZd0F"
32000 REM Autor: Malcohol (Malcolm Tyrrell) auf GitHub 2020