Das Kubus-Programm hat noch eine kleinere Änderung bekommen und scheint jetzt fehlerfrei zu laufen. Das nehme ich zum Anlass, es gemeinsam mit dem Bascoder hier vorzustellen. Damit ist es lauffähig, also die beiden Bestandteile sind bereits zusammengefügt. Es ist (wie schon erwähnt) für Omikron.Basic geschrieben.
Code: Alles auswählen
0 REM BASICODE-Subroutinen (c) by Thomas Mäurer, Duisburger Str. 296 D-42 OB 1
1 REM Erweiterung zu Version 3C: Thomas Rademacher, JOYCE-User-AG e.V.
10 XBIOS O9,4:DEFSNG "A-Z": SCREEN 0: MODE "USA":CLIP 0,0,639+320*(O9=0),199: GOTO 1000
11 PRINT CHR$(27)"b"CHR$(CC(0)-15*(CC(0)=0)-3*(CC(0)=1)+(CC(0)=2)-2*(CC(0)=3)+2*(CC(0)=4)-7*(CC(0)=5)+3*(CC(0)=6)+7*(CC(0)=7)-8*(CC(0)=CC(1)));
12 PRINT CHR$(27)"c"CHR$(CC(1)-15*(CC(1)=0)-3*(CC(1)=1)+(CC(1)=2)-2*(CC(1)=3)+2*(CC(1)=4)-7*(CC(1)=5)+3*(CC(1)=6)+7*(CC(1)=7));
13 RETURN
20 GOSUB 100:CLEAR:XBIOS O9,4
21 SV=7:HO=79+40*(O9=0):VE=24:HG=319:VG=199
22 GOSUB 11
23 DIM CC(4):CC(0)=7:CC(1)=0:CC(2)=CC(0):CC(3)=CC(1):CC(4)=CC(1)
28 GOTO 1010
100 GOSUB 11
101 CC(2)=CC(0):CC(3)=CC(1):CLS :REM LOCATE 25,5:PRINT "BasiCode-3C fr OMIKRON.BASIC";:LOCATE 1,0:RETURN
102 RETURN
110 GOSUB 11
111 VE=MAX(0,VE):VE=MIN(VE,24):HO=MAX(0,HO):HO=MIN(HO,39):PRINT @(Ve,Ho);
119 RETURN
120 HO= POS(0):Ve= CSRLIN -1: RETURN
150 PRINT CHR$(27)"b"CHR$(CC(0)-15*(CC(0)=0)-3*(CC(0)=1)+(CC(0)=2)-2*(CC(0)=3)+2*(CC(0)=4)-7*(CC(0)=5)+3*(CC(0)=6)+7*(CC(0)=7));
151 PRINT CHR$(27)"c"CHR$(CC(1)-15*(CC(1)=0)-3*(CC(1)=1)+(CC(1)=2)-2*(CC(1)=3)+2*(CC(1)=4)-7*(CC(1)=5)+3*(CC(1)=6)+7*(CC(1)=7));
152 PRINT " "CHR$(27)"p ";SR$;" "CHR$(27)"q ";
153 PRINT CHR$(27)"b"CHR$(CC(2)-15*(CC(2)=0)-3*(CC(2)=1)+(CC(2)=2)-2*(CC(2)=3)+2*(CC(2)=4)-7*(CC(2)=5)+3*(CC(2)=6)+7*(CC(2)=7));
154 PRINT CHR$(27)"c"CHR$(CC(3)-15*(CC(3)=0)-3*(CC(3)=1)+(CC(3)=2)-2*(CC(3)=3)+2*(CC(3)=4)-7*(CC(3)=5)+3*(CC(3)=6)+7*(CC(3)=7));
155 RETURN
200 IN=0:IN$=INKEY$:IF IN$<>"" THEN 211
201 IN=IN+32*((IN>96) AND (IN<127))
202 IN=IN-27*(IN=1):IN=IN-23*(IN=6):IF IN=127 THEN GOSUB 120:IF HO>0 THEN IN$=CHR$(27)+"D "+CHR$(27)+"D" ELSE IN=0:IN$=""
205 RETURN
210 GOSUB 200:IF IN$<>"" THEN RETURN ELSE 210
211 IN$=CHR$(CVIL(IN$) AND $FF):IN=ASC(IN$)
212 IN=IN-8*(IN=20)+(IN=30)-30*(IN=0)-7*(IN=24)-119*(IN=8)
216 CN=0:IF IN>96 AND IN<127 THEN IN=IN-32:CN=32
217 IF IN=127 THEN GOSUB 120:IF HO>0 THEN IN$=CHR$(8)+CHR$(16) ELSE IN$=CHR$(9)+CHR$(9):IN$=IN$+IN$+IN$+IN$:IN$=IN$+IN$+IN$+IN$+IN$+CHR$(16)
218 REM IF PEEK(&195)>&7F AND PEEK(&195)<&8A THEN IN$="":IN=-((IN-&80) MOD 10)+10*(IN=&80)
219 RETURN
220 IF((HO<0) OR (HO>39)) THEN IN=0:GOTO 249
221 IF ((VE<0) OR (VE>24)) THEN IN=0:GOTO 249
222 REM Zeichen aus Bildschirm zurcklesen
249 RETURN
250 PRINT CHR$(7);:RETURN
260 RV= RND(1): RETURN
270 FR= FRE(0): RETURN
280 RETURN:REM Sperren / Freigeben der Stoptaste
300 SR$= RIGHT$( STR$(SR!), LEN( STR$(Sr!))+( LEFT$( STR$(Sr!),1)=" ")): RETURN
310 SR$="": IF SR!>=10^(Ct!-Cn!- SGN(Cn!)) THEN GOTO 318
311 IF SR!<-.5*10^-Cn! THEN Sr$="-"
312 SR$=SR$+ MID$( STR$( INT( ABS(Sr!)+.5*10^-Cn!)),2)
313 IF LEN(SR$)<CT!-CN!+(CN!<>0) THEN Sr$=" "+Sr$: GOTO 313
314 IF CN!=0 OR ABS(Sr!)>=1E+10 THEN GOTO 316
315 SR$=SR$+ MID$( STR$(1+ ABS(Sr!)- INT( ABS(Sr!))+.5*10^-Cn!),3,Cn!+1)
316 IF LEN(SR$)<CT! THEN Sr$=Sr$+" ": GOTO 316
317 IF LEN(SR$)>CT! THEN Sr$=""
318 IF LEN(SR$)<CT! THEN Sr$=Sr$+"*": GOTO 318
319 RETURN
330 FOR OF=1 TO LEN(SR$)
331 IF ASC(MID$(SR$,OF,1))>95 THEN GOSUB 340
332 NEXT OF
333 RETURN
340 OSR=ASC(MID$(SR$,OF,1))-32
341 SR$=LEFT$(SR$,OF-1)+CHR$(OSR)+MID$(SR$,OF+1)
342 RETURN
350 LPRINT SR$;:RETURN
360 LPRINT :RETURN
400 OSP=282*2^((60-SP)/12):VOLUME 2,SV:VOLUME 2,13,512:TUNE 2,OSP
401 FOR OSD=0 TO 2560*SD:NEXT OSD:TUNE 1,0,2,0,3,0:RETURN
450 OTIME=TIMER
451 OSD=SD*30
452 GOSUB 200:IF IN=0 THEN 453 ELSE 454
453 IF OSD>TIMER-OTIME THEN 452 ELSE 457
454 SD=SD-INT((TIMER-OTIME)/30)
455 RETURN
457 SD=0:GOTO 455
500 ONF=(NF AND 1)+4
501 ON ONF+1 GOTO 502,510,515,520,516,521,516,521
516 OPEN "I",ONF,NF$:INPUT #4,OBESTAND$:IN=0:GOTO 539
521 PRINT NF$:OPEN "O",ONF,NF$:IN=0
539 RETURN
540 IN$="":IN=1:ON (ONF+2)/2 GOTO 541,551,551,551
551 IN$=OBESTAND$:IF EOF(ONF) THEN 558
552 LINE INPUT #ONF,OBESTAND$
554 IF OBESTAND$<>"" THEN OU$=MID$(OBESTAND$,1,1)
555 IF ASC(OU$)=26 THEN OBESTAND$="":IN=1:GOTO 559
557 IN=0:GOTO 559
558 IN=1
559 RETURN
560 IN=1:ON (ONF+1)/2 GOTO 561,575,575,575
575 PRINT #ONF,SR$:IN=0:RETURN
580 ON ONF+1 GOTO 582,585,590,592,591,593,591,593
582 RETURN
591 CLOSE ONF:GOTO 599
593 PRINT #ONF,CHR$(26):PRINT #ONF,CHR$(26):CLOSE ONF
599 RETURN
600 PRINT CHR$(27)"c"CHR$(CC(1)-15*(CC(1)=0)-3*(CC(1)=1)+(CC(1)=2)-2*(CC(1)=3)+2*(CC(1)=4)+7*(CC(1)=5)+3*(CC(1)=6)-7*(CC(1)=7));
618 CLS:REM LOCATE 25,5:PRINT "BasiCode-3C fr OMIKRON.BASIC";:LOCATE 1,0
619 RETURN
620 GOSUB 655:OPH=INT(OHO*HG):OPV=INT(OVE*VG):OPM=CN XOR 1:DRAW OPH,OPV:RETURN
630 GOSUB 655:OPH=INT(OHO*HG):OPV=INT(OVE*VG):OPM=CN XOR 1:DRAW TO OPH,OPV:RETURN
650 GOSUB 655:OVE=MIN(VE,0.972):OPV=INT(VE*VG):FOR OPT=0 TO LEN(SR$)-1:OPH=INT(OHO*HG)+OPT*8
651 OPH=MIN(OPH,631+320*(O9=0)):OPC=ASC(MID$(SR$,OPT+1,1))
652 MODE=2:TEXT OPH,OPV+6," ":TEXT OPH,OPV+6,CHR$(OPC):NEXT OPT:MODE=1:RETURN
655 OHO=MAX(0,HO):OHO=(1-(O9<>0))*MIN(OHO,0.998):OVE=MAX(0,VE):OVE=MIN(OVE,0.995)
656 TEXT COLOR=CC(0)- 1*(CC(0)=0)-3*(CC(0)=1)-4*(CC(0)=3)+(CC(0)=4)-7*(CC(0)=5)+7*(CC(0)=7)
657 LINE COLOR=CC(0)- 1*(CC(0)=0)-3*(CC(0)=1)-4*(CC(0)=3)+(CC(0)=4)-7*(CC(0)=5)+7*(CC(0)=7)
658 IF CN=0 THEN GOTO 949
659 TEXT COLOR=CC(1)-(CC(1)=0)-3*(CC(1)=1)-4*(CC(1)=3)+(CC(1)=4)-7*(CC(1)=5)+7*(CC(1)=7)
660 LINE COLOR=CC(1)-(CC(1)=0)-3*(CC(1)=1)-4*(CC(1)=3)+(CC(1)=4)-7*(CC(1)=5)+7*(CC(1)=7)
949 RETURN
950 GOSUB 100:END
1000 a=500:GOTO 20:REM kubus
1010 DIM a(9,12):a$="":GOTO 3000
1020 IF ke$="H" THEN GOTO 1080
1030 IF ke$="O" THEN GOTO 1340
1040 IF ke$="L" THEN GOTO 1600
1050 IF ke$="U" THEN GOTO 1860
1060 IF ke$="R" THEN GOTO 2120
1070 IF ke$="V" THEN GOTO 2380
1080 l=a(4,10)
1090 a(4,10)=a(6,10)
1100 a(6,10)=a(6,12)
1110 a(6,12)=a(4,12)
1120 a(4,12)=l
1130 l=a(4,11)
1140 a(4,11)=a(5,10)
1150 a(5,10)=a(6,11)
1160 a(6,11)=a(5,12)
1170 a(5,12)=l
1180 l=a(1,4)
1190 a(1,4)=a(4,9)
1200 a(4,9)=a(9,6)
1210 a(9,6)=a(6,1)
1220 a(6,1)=l
1230 l=a(1,6)
1240 a(1,6)=a(6,9)
1250 a(6,9)=a(9,4)
1260 a(9,4)=a(4,1)
1270 a(4,1)=l
1280 l=a(1,5)
1290 a(1,5)=a(5,9)
1300 a(5,9)=a(9,5)
1310 a(9,5)=a(5,1)
1320 a(5,1)=l
1330 RETURN
1340 l=a(1,4)
1350 a(1,4)=a(3,4)
1360 a(3,4)=a(3,6)
1370 a(3,6)=a(1,6)
1380 a(1,6)=l
1390 l=a(1,5)
1400 a(1,5)=a(2,4)
1410 a(2,4)=a(3,5)
1420 a(3,5)=a(2,6)
1430 a(2,6)=l
1440 l=a(4,1)
1450 a(4,1)=a(4,4)
1460 a(4,4)=a(4,7)
1470 a(4,7)=a(4,10)
1480 a(4,10)=l
1490 l=a(4,2)
1500 a(4,2)=a(4,5)
1510 a(4,5)=a(4,8)
1520 a(4,8)=a(4,11)
1530 a(4,11)=l
1540 l=a(4,3)
1550 a(4,3)=a(4,6)
1560 a(4,6)=a(4,9)
1570 a(4,9)=a(4,12)
1580 a(4,12)=l
1590 RETURN
1600 l=a(4,1)
1610 a(4,1)=a(6,1)
1620 a(6,1)=a(6,3)
1630 a(6,3)=a(4,3)
1640 a(4,3)=l
1650 l=a(4,2)
1660 a(4,2)=a(5,1)
1670 a(5,1)=a(6,2)
1680 a(6,2)=a(5,3)
1690 a(5,3)=l
1700 l=a(1,4)
1710 a(1,4)=a(6,12)
1720 a(6,12)=a(7,4)
1730 a(7,4)=a(4,4)
1740 a(4,4)=l
1750 l=a(2,4)
1760 a(2,4)=a(5,12)
1770 a(5,12)=a(8,4)
1780 a(8,4)=a(5,4)
1790 a(5,4)=l
1800 l=a(3,4)
1810 a(3,4)=a(4,12)
1820 a(4,12)=a(9,4)
1830 a(9,4)=a(6,4)
1840 a(6,4)=l
1850 RETURN
1860 l=a(7,4)
1870 a(7,4)=a(9,4)
1880 a(9,4)=a(9,6)
1890 a(9,6)=a(7,6)
1900 a(7,6)=l
1910 l=a(7,5)
1920 a(7,5)=a(8,4)
1930 a(8,4)=a(9,5)
1940 a(9,5)=a(8,6)
1950 a(8,6)=l
1960 l=a(6,1)
1970 a(6,1)=a(6,10)
1980 a(6,10)=a(6,7)
1990 a(6,7)=a(6,4)
2000 a(6,4)=l
2010 l=a(6,2)
2020 a(6,2)=a(6,11)
2030 a(6,11)=a(6,8)
2040 a(6,8)=a(6,5)
2050 a(6,5)=l
2060 l=a(6,3)
2070 a(6,3)=a(6,12)
2080 a(6,12)=a(6,9)
2090 a(6,9)=a(6,6)
2100 a(6,6)=l
2110 RETURN
2120 l=a(4,7)
2130 a(4,7)=a(6,7)
2140 a(6,7)=a(6,9)
2150 a(6,9)=a(4,9)
2160 a(4,9)=l
2170 l=a(4,8)
2180 a(4,8)=a(5,7)
2190 a(5,7)=a(6,8)
2200 a(6,8)=a(5,9)
2210 a(5,9)=l
2220 l=a(1,6)
2230 a(1,6)=a(4,6)
2240 a(4,6)=a(7,6)
2250 a(7,6)=a(6,10)
2260 a(6,10)=l
2270 l=a(2,6)
2280 a(2,6)=a(5,6)
2290 a(5,6)=a(8,6)
2300 a(8,6)=a(5,10)
2310 a(5,10)=l
2320 l=a(3,6)
2330 a(3,6)=a(6,6)
2340 a(6,6)=a(9,6)
2350 a(9,6)=a(4,10)
2360 a(4,10)=l
2370 RETURN
2380 l=a(4,4)
2390 a(4,4)=a(6,4)
2400 a(6,4)=a(6,6)
2410 a(6,6)=a(4,6)
2420 a(4,6)=l
2430 l=a(4,5)
2440 a(4,5)=a(5,4)
2450 a(5,4)=a(6,5)
2460 a(6,5)=a(5,6)
2470 a(5,6)=l
2480 l=a(3,4)
2490 a(3,4)=a(6,3)
2500 a(6,3)=a(7,6)
2510 a(7,6)=a(4,7)
2520 a(4,7)=l
2530 l=a(3,5)
2540 a(3,5)=a(5,3)
2550 a(5,3)=a(7,5)
2560 a(7,5)=a(5,7)
2570 a(5,7)=l
2580 l=a(3,6)
2590 a(3,6)=a(4,3)
2600 a(4,3)=a(7,4)
2610 a(7,4)=a(6,7)
2620 a(6,7)=l
2630 RETURN
3000 GOSUB 100
3010 ve=0:ho=8:GOSUB 110:PRINT"WILLKOMMEN BEI 'KUBUS'!"
3020 ve=1:ho=8:GOSUB 110:PRINT"======================="
3030 PRINT:PRINT:PRINT"BITTE WAEHLEN SIE"
3040 ve=6:ho=4:GOSUB 110:PRINT"A SELBST ETWAS PROBIEREN"
3050 ve=8:ho=4:GOSUB 110
3060 PRINT"B ICH LOESE EINE STELLUNG AUF"
3070 ve=10:ho=4:GOSUB 110:PRINT"C SCHOENE FIGUREN"
3080 ve=12:ho=4:GOSUB 110:PRINT"D ERKLAERUNG"
3090 ve=14:ho=4:GOSUB 110:PRINT"E ENDE"
3100 ve=16:ho=4:GOSUB 110:GOSUB 210:t$=in$
3110 IF t$="A" THEN 6550
3120 IF t$="B" THEN 4000
3130 IF t$="C" THEN 6990
3140 IF t$="D" THEN 6060
3150 IF t$<>"E" THEN 3000
3160 GOSUB 100:PRINT"**********************"
3170 PRINT"* *"
3180 PRINT"* KUBUS! *"
3190 PRINT"* *"
3200 PRINT"* GEMAAKT DOOR *"
3210 PRINT"* *"
3220 PRINT"* JAN BROECKX *"
3230 PRINT"* *"
3240 PRINT"* KARMELIETENSTR. 66 *"
3250 PRINT"* *"
3260 PRINT"* 2600 BERCHEM *"
3270 PRINT"* *"
3280 PRINT"* BELGIE *"
3290 PRINT"* *"
3300 PRINT"**********************"
3310 GOSUB 210:GOTO 950
4000 GOSUB 100
4010 PRINT" 1 2 3 4 5 6 7 8 9 10 11 12"
4020 PRINT:PRINT
4030 FOR i=1 TO 9:ho=0:ve=3+i:GOSUB 110
4040 PRINT i:NEXT i
4050 b=0:c=0:d=0:e=0:g=0:s=0:f=1:a=0
4060 ve=19:ho=0:GOSUB 110
4070 PRINT"GELB=Y / ROT=R / GRUEN=G / MAGENTA=O"
4080 ve=20:ho=0:GOSUB 110
4090 PRINT"WEISS=W / BLAU=B / FEHLER=F / MENU=M"
4100 ON f GOTO 4110,4120,4130,4140,4150,4160,4320
4110 i1=1:i2=3:j1=4:j2=6:GOTO 4170
4120 i1=4:i2=6:j1=1:j2=3:GOTO 4170
4130 i1=4:i2=6:j1=4:j2=6:GOTO 4170
4140 i1=4:i2=6:j1=7:j2=9:GOTO 4170
4150 i1=4:i2=6:j1=10:j2=12:GOTO 4170
4160 i1=7:i2=9:j1=4:j2=6
4170 aa=0:ff=0:FOR i=i1 TO i2:FOR j=j1 TO j2
4175 IF a<0 THEN gt=4000:GOTO 4312:REM NEXT j:NEXT i:GOTO 4000
4180 IF a$="F" THEN gt=4000:aa=1:GOTO 4312:REM NEXT j:NEXT i:a$="":GOTO 4000
4190 IF a$="M" THEN gt=3000:aa=1:GOTO 4312:REM NEXT j:NEXT i:a$="":GOTO 3000
4200 ho=j*3:ve=i+3:GOSUB 110:PRINT"??"
4210 ve=21:ho=0:GOSUB 110
4220 PRINT"WELCHE FARBE HAT DAS FELD (";i;",";j;") ?";
4230 GOSUB 210:a$=in$:PRINT a$
4231 IF a$="Y" THEN CC(0)=6
4232 IF a$="O" THEN CC(0)=3
4233 IF a$="B" THEN CC(0)=1
4234 IF a$="R" THEN CC(0)=2
4235 IF a$="G" THEN CC(0)=4
4240 ho=j*3:ve=i+3:GOSUB 110:PRINT "**":CC(0)=7
4250 IF a$="F" THEN gt=4000:aa=1:GOTO 4312:REM NEXT j:NEXT i:a$="":GOTO 4000
4260 IF a$="M" THEN gt=3000:aa=1:GOTO 4312:REM NEXT j:NEXT i:a$="":GOTO 3000
4270 GOSUB 10000:IF a=0 THEN 4200
4280 IF a<0 THEN gt=4000:GOTO 4312:REM NEXT j:NEXT i:GOTO 4000
4290 a(i,j)=a
4300 ve=21:ho=35:GOSUB 110:PRINT" "
4310 gt=4100:ff=1:REM NEXT j:NEXT i:f=f+1:GOTO 4100
4312 NEXT j:NEXT i:IF ff=1 THEN f=f+1:ff=0
4314 IF aa=1 THEN a$="":aa=0
4316 IF gt=3000 THEN GOTO 3000
4318 IF gt=4100 THEN GOTO 4100
4319 GOTO 4000
4320 REM
4330 REM juist zetten van rb
4340 po=a(2,5):p=a(5,5):GOSUB 10130:IF a<0 THEN 4000
4350 IF a>6 THEN 4380
4360 ON a GOSUB 10420,10430,10440,10450,10460,10470
4370 GOTO 4390
4380 ON a-6 GOSUB 10480,10490,10500,10510,10520,10530
4390 GOSUB 10540
4400 po=a(2,5):p=a(5,2):GOSUB 10130:IF a<0 THEN 4000
4410 IF a>6 THEN 4440
4420 ON a GOSUB 10670,10450,10680,1,10690,10700
4430 GOTO 4450
4440 ON a-6 GOSUB 10710,10720,10730,10740,10750,10760
4450 GOSUB 10540
4460 po=a(2,5):p=a(5,11):GOSUB 10130:IF a<0 THEN 4000
4470 IF a>6 THEN 4500
4480 ON a GOSUB 10450,1,10770,1,10780,10790
4490 GOTO 4510
4500 ON a-6 GOSUB 10800,10810,10820,10830,10840,10850
4510 GOSUB 10540
4520 po=a(2,5):p=a(5,8):GOSUB 10130:IF a<0 THEN 4000
4530 IF a>6 THEN 4560
4540 ON a GOSUB 1,1,10450,1,10860,10870
4550 GOTO 4570
4560 ON a-6 GOSUB 10880,10890,10900,10910,10920,10930
4570 GOSUB 10540
4580 po=a(5,2):p=a(5,11):GOSUB 10130:IF a<0 THEN 4000
4590 IF a>6 THEN 4620
4600 ON a GOSUB 1,1,1,1,10450,10940
4610 GOTO 4630
4620 ON a-6 GOSUB 10950,10960,10970,10980,10990,11000
4630 GOSUB 10540
4640 po=a(5,2):p=a(5,5):GOSUB 10130:IF a<0 THEN 4000
4650 IF a>6 THEN 4680
4660 ON a GOSUB 1,1,1,1,1,10450
4670 GOTO 4690
4680 ON a-6 GOSUB 11010,11020,11030,11040,11050,11060
4690 GOSUB 10540
4700 po=a(5,5):p=a(5,8):GOSUB 10130:IF a<0 THEN 4000
4710 IF a>6 THEN 4740
4720 ON a GOSUB 1,1,1,1,1,1
4730 GOTO 4750
4740 ON a-6 GOSUB 10450,11070,11080,11090,11100,11110
4750 GOSUB 10540
4760 po=a(5,8):p=a(5,11):GOSUB 10130:IF a<0 THEN 4000
4770 ON a GOSUB 1,1,1,1,1,1,1,10450,11120,11130,11140,11150
4780 GOSUB 10540
4790 po=a(8,5):p=a(5,5):GOSUB 10130:IF a<0 THEN 4000
4800 ON a GOSUB 1,1,1,1,1,1,1,1,10450,11160,11170,11180
4810 GOSUB 10540
4820 po=a(8,5):p=a(5,2):GOSUB 10130:IF a<0 THEN 4000
4830 ON a GOSUB 1,1,1,1,1,1,1,1,1,10450,11190,11200
4840 GOSUB 10540
4850 po=a(8,5):p=a(5,8):GOSUB 10130:IF a<0 THEN 4000
4860 ON a GOSUB 1,1,1,1,1,1,1,1,1,1,10450,11210
4870 GOSUB 10540
4880 REM juist orienteren van rb
4890 IF a(3,5)<>a(2,5) THEN a$="-VLV-LO-L-OL":GOSUB 10540
4900 IF a(2,4)<>a(2,5) THEN a$="-LHL-HO-H-OH":GOSUB 10540
4910 IF a(1,5)<>a(2,5) THEN a$="-HRH-RO-R-OR":GOSUB 10540
4920 IF a(2,6)<>a(2,5) THEN a$="-VOV-OR-O-RO":GOSUB 10540
4930 IF a(5,6)<>a(5,5) THEN a$="-UVU-VR-V-RV":GOSUB 10540
4940 IF a(6,8)<>a(5,8) THEN a$="-HUH-UR-U-RU":GOSUB 10540
4950 IF a(5,9)<>a(5,8) THEN a$="-URU-RH-R-HR":GOSUB 10540
4960 IF a(6,11)<>a(5,11) THEN a$="-LUL-UH-U-HU":GOSUB 10540
4970 IF a(5,12)<>a(5,11) THEN a$="-UHU-HL-H-LH":GOSUB 10540
4980 IF a(8,4)<>a(8,5) THEN a$="-VUV-UL-U-LU":GOSUB 10540
4990 IF a(5,4)<>a(5,5) THEN a$="-ULU-LV-L-VL":GOSUB 10540
5000 IF a(6,5)<>a(5,5) THEN 5360
5010 REM juist zetten van hb
5020 po=a(2,5):p=a(5,5):m=a(5,2):GOSUB 11220:IF a<0 THEN 4000
5030 IF a>4 THEN 5060
5040 ON a GOSUB 10450,11450,11460,11470
5050 GOTO 5070
5060 ON a-4 GOSUB 11480,11490,11500,11510
5070 GOSUB 10540
5080 po=a(2,5):p=a(5,8):m=a(5,5):GOSUB 11220:IF a<0 THEN 4000
5090 ON a GOSUB 1,10450,11520,11530,11540,11550,11560,11570
5100 GOSUB 10540
5110 po=a(2,5):p=a(5,2):m=a(5,11):GOSUB 11220:IF a<0 THEN 4000
5120 ON a GOSUB 1,1,10450,11580,11590,11600,11610,11620
5130 GOSUB 10540
5140 po=a(5,11):p=a(5,8):m=a(2,5):GOSUB 11220:IF a<0 THEN 4000
5150 ON a GOSUB 1,1,1,10450,11630,11640,11650,11660
5160 GOSUB 10540
5170 po=a(5,2):p=a(5,5):m=a(8,5):GOSUB 11220:IF a<0 THEN 4000
5180 ON a GOSUB 1,1,1,1,10450,11670,11680,11690
5190 GOSUB 10540
5200 po=a(5,5):p=a(5,8):m=a(8,5):GOSUB 11220:IF a<0 THEN 4000
5210 ON a GOSUB 1,1,1,1,1,10450,11700,11710
5220 GOSUB 10540
5230 po=a(5,2):p=a(8,5):m=a(5,11):GOSUB 11220:IF a<0 THEN 4000
5240 ON a GOSUB 1,1,1,1,1,1,10450,11160
5250 IF a$="O" THEN 5360
5260 REM juist orienteren van hb
5270 IF (a(3,4)<>a(2,5)) OR (a(4,4)<>a(5,5)) THEN 5300
5280 IF a(4,3)<>a(5,2) THEN 5300
5290 GOTO 5390
5300 IF (a(3,4)=a(4,4)) OR (a(3,4)=a(4,3)) THEN 5360
5310 IF a(4,4)=a(4,3) THEN 5360
5320 IF a(4,4)=a(2,5) THEN a$="O-H-O-L-HL-V-LHLOH-OV"
5330 IF a(4,4)=a(2,5) THEN GOSUB 10540:GOTO 5270
5340 IF a(4,3)=a(2,5) THEN a$="-VO-H-O-L-HLV-LHLOH-O"
5350 IF a(4,3)=a(2,5) THEN GOSUB 10540:GOTO 5270
5360 GOSUB 100:ve=21:ho=0:GOSUB 110
5370 PRINT"KEINE LOESUNG MOEGLICH!!"
5380 PRINT:PRINT"<RETURN> DRUECKEN";:INPUT T$:GOTO 3000
5390 IF a(3,6)<>a(2,5) OR a(4,7)<>a(5,8) THEN 5420
5400 IF a(4,6)<>a(5,5) THEN 5420
5410 GOTO 5490
5420 IF a(3,6)=a(4,7) OR a(3,6)=a(4,6) THEN 5360
5430 IF a(4,6)=a(4,7) THEN 5360
5440 IF a(4,7)=a(2,5) THEN a$="O-L-O-V-LV-R-VLVOL-OR"
5450 IF a(4,7)=a(2,5) THEN GOSUB 10540:GOTO 5390
5460 IF a(4,6)=a(2,5) THEN a$="-RO-L-O-V-LVR-VLVOL-O"
5470 IF a(4,6)=a(2,5) THEN GOSUB 10540:GOTO 5390
5480 GOTO 5360
5490 IF a(1,6)<>a(2,5) OR a(4,10)<>a(5,11) THEN 5520
5500 IF a(4,9)<>a(5,8) THEN 5520
5510 GOTO 5590
5520 IF a(1,6)=a(4,10) OR a(1,6)=a(4,9) THEN 5360
5530 IF a(4,10)=a(4,9) THEN 5360
5540 IF a(4,10)=a(2,5) THEN a$="O-V-O-R-VR-H-RVROV-OH"
5550 IF a(4,10)=a(2,5) THEN GOSUB 10540:GOTO 5490
5560 IF a(4,9)=a(2,5) THEN a$="-HO-V-O-R-VRH-RVROV-O"
5570 IF a(4,9)=a(2,5) THEN GOSUB 10540:GOTO 5490
5580 GOTO 5360
5590 IF a(1,4)<>a(2,5) OR a(4,1)<>a(5,2) THEN 5620
5600 IF a(4,12)<>a(5,11) THEN 5620
5610 GOTO 5690
5620 IF a(1,4)=a(4,1) OR a(1,4)=a(4,12) THEN 5360
5630 IF a(4,1)=a(4,12) THEN 5360
5640 IF a(4,12)=a(2,5) THEN a$="-HL-V-L-O-VOH-OVOLV-L"
5650 IF a(4,12)=a(2,5) THEN GOSUB 10540:GOTO 5590
5660 IF a(4,1)=a(2,5) THEN a$="L-V-L-O-VO-H-OVOLV-LH"
5670 IF a(4,1)=a(2,5) THEN GOSUB 10540:GOTO 5590
5680 GOTO 5360
5690 IF a(6,1)<>a(5,2) OR a(9,4)<>a(8,5) THEN 5720
5700 IF a(6,12)<>a(5,11) THEN 5720
5710 GOTO 5790
5720 IF a(6,1)=a(9,4) OR a(6,1)=a(6,12) THEN 5360
5730 IF a(9,4)=a(6,12) THEN 5360
5740 IF a(6,12)=a(8,5) THEN a$="U-V-U-L-VL-H-LVLUV-UH"
5750 IF a(6,12)=a(8,5) THEN GOSUB 10540:GOTO 5690
5760 IF a(6,1)=a(8,5) THEN a$="-HU-V-U-L-VLH-LVLUV-U"
5770 IF a(6,1)=a(8,5) THEN GOSUB 10540:GOTO 5690
5780 GOTO 5360
5790 IF a(9,6)<>a(8,5) OR a(6,9)<>a(5,8) THEN 5820
5800 IF a(6,10)<>a(5,11) THEN 5820
5810 GOTO 5890
5820 IF a(9,6)=a(6,9) OR a(9,6)=a(6,10) THEN 5360
5830 IF a(6,9)=a(6,10) THEN 5360
5840 IF a(6,9)=a(8,5) THEN a$="U-L-U-H-LH-R-HLHUL-UR"
5850 IF a(6,9)=a(8,5) THEN GOSUB 10540:GOTO 5790
5860 IF a(6,10)=a(8,5) THEN a$="-RU-L-U-H-LHR-HLHUL-U"
5870 IF a(6,10)=a(8,5) THEN GOSUB 10540:GOTO 5790
5880 GOTO 5360
5890 IF a(6,6)<>a(5,5) OR a(7,6)<>a(8,5) THEN 5920
5900 IF a(6,7)<>a(5,8) THEN 5920
5910 GOTO 5990
5920 IF a(6,6)=a(7,6) OR a(6,6)=a(6,7) THEN 5360
5930 IF a(7,6)=a(6,7) THEN 5360
5940 IF a(6,6)=a(8,5) THEN a$="=-H-U-R-HR-V-RHRUH-UV"
5950 IF a(6,6)=a(8,5) THEN GOSUB 10540:GOTO 5890
5960 IF a(6,7)=a(8,5) THEN a$="-VU-H-U-R-HRV-RHRUH-U"
5970 IF a(6,7)=a(8,5) THEN GOSUB 10540:GOTO 5890
5980 GOTO 5360
5990 IF a(6,3)<>a(5,2) OR a(6,4)<>a(5,5) THEN 5360
6000 IF a(7,4)<>a(8,5) THEN 5360
6010 ho=0:ve=20:GOSUB 110
6020 PRINT" "
6030 ho=0:ve=20:GOSUB 110:PRINT"VOILA!!":ho=0
6040 ve=22:GOSUB 110:PRINT"<RETURN> DRUECKEN";
6050 GOSUB 210:GOTO 3000
6060 REM uitleg
6070 GOSUB 100
6080 PRINT"IN DIESEM PROGRAMM WIRD DER WUERFEL"
6090 PRINT"WIE FOLGT ANGEZEIGT:":PRINT
6100 GOSUB 120:ho=ho+17:GOSUB 110:PRINT"OO":PRINT
6110 GOSUB 120:ho=ho+14:GOSUB 110:PRINT"LL VV RR HH":PRINT
6120 GOSUB 120:ho=ho+17:GOSUB 110:PRINT"UU"
6130 PRINT:PRINT"IN DER MITTE SEHEN SIE DIE IHNEN ZU-"
6140 PRINT"GEWANDTE SEITE (V), DARUEBER DIE OBER-"
6150 PRINT"SEITE (O) UND DARUNTER DIE UNTER-"
6160 PRINT"SEITE (U). 'L' UND 'R' STEHEN FUER"
6170 PRINT"LINKE UND RECHTE SEITE. DIE RUECK-"
6180 PRINT"SEITE (H) IST GANZ RECHTS.":PRINT
6190 PRINT"<RETURN> DRUECKEN";:GOSUB 210:GOSUB 100
6200 PRINT"WENN SIE Z.B. IN DIESEM PROGRAMM 'O'"
6210 PRINT"LESEN, HEISST DAS, DASS SIE DIE OBERE"
6220 PRINT"EBENE UM EINE VIERTELDREHUNG IM UHR-"
6230 PRINT"ZEIGERSINN DREHEN SOLLEN, '-O' GEGEN"
6240 PRINT"DEN UHRZEIGERSINN (JEWEILS AUF DIE"
6250 PRINT"BETREFFENDE SEITE GESEHEN). '-LV' BE-"
6260 PRINT"DEUTET, DIE LINKE EBENE UM 90 GRAD"
6270 PRINT"GEGEN DEN UHRZEIGERSINN UND DIE VORDERE"
6280 PRINT"EBENE IM UHRZEIGERSINN ZU DREHEN.":PRINT
6283 PRINT"BITTE BEACHTEN SIE, DASS SIE DIE"
6286 PRINT"POSITION DER MITTELFELDER DER"
6290 PRINT"WUERFELSEITEN NIE VERAENDERN!":PRINT
6300 PRINT"<RETURN> DRUECKEN";:GOSUB 210:GOSUB 100
6310 PRINT"WERDEN SIE NICHT UNRUHIG, WENN SIE"
6320 PRINT"LAENGERE ZEIT KEINE VERAENDERUNG"
6330 PRINT"SEHEN. DANN IST DER COMPUTER MIT"
6340 PRINT"AUFWENDIGEREN BERECHNUNGEN"
6343 PRINT"BESCHAEFTIGT (Z.B. BEI DEN"
6346 PRINT"'SCHOENEN FIGUREN')":PRINT
6350 PRINT"DIE FARBEN :":PRINT
6360 PRINT"R = ROT":PRINT"O = MAGENTA"
6370 PRINT"B = BLAU":PRINT"G = GRUEN"
6380 PRINT"Y = GELB":PRINT"W = WEISS"
6390 ve=20:ho=0:GOSUB 110:PRINT"<RETURN> DRUECKEN";
6400 GOSUB 210:GOTO 3000
6410 REM zelf wat proberen
6420 ho=0:ve=20:GOSUB 110
6430 PRINT"SIND SIE FERTIG ? (J/N)";:GOSUB 210
6440 t$=in$:ho=0:ve=20:GOSUB 110
6450 PRINT" "
6460 IF t$="N" THEN 6630
6470 IF t$<>"J" THEN 6420
6480 ho=0:ve=20:GOSUB 110
6490 PRINT"SOLL ICH LOESEN ? (J/N)";:GOSUB 210
6500 t$=in$:ho=0:ve=20:GOSUB 110
6510 PRINT" "
6520 IF t$="N" THEN 3000
6530 IF t$<>"J" THEN 6480
6540 GOTO 4320
6550 GOSUB 100:GOSUB 6570:GOSUB 6760
6560 GOTO 6630
6570 FOR i=1 TO 3:FOR j=4 TO 6:a(i,j)=1:NEXT j:NEXT i
6580 FOR i=4 TO 6:FOR j=1 TO 3:a(i,j)=2:NEXT j:NEXT i
6590 FOR i=4 TO 6:FOR j=4 TO 6:a(i,j)=3:NEXT j:NEXT i
6600 FOR i=4 TO 6:FOR j=7 TO 9:a(i,j)=4:NEXT j:NEXT i
6610 FOR i=4 TO 6:FOR j=10 TO 12:a(i,j)=5:NEXT j:NEXT i
6620 FOR i=7 TO 9:FOR j=4 TO 6:a(i,j)=6:NEXT j:NEXT i:RETURN
6630 ho=0:ve=20:GOSUB 110:PRINT"WELCHE EBENE ?";
6640 GOSUB 210:ke$=in$:PRINT ke$;
6650 IF ke$="-" THEN GOSUB 210:t$=in$:PRINT t$:ke$=ke$+t$
6660 IF ke$="H" OR ke$="O" OR ke$="L" THEN 6710
6670 IF ke$="U" OR ke$="R" OR ke$="V" THEN 6710
6680 IF ke$="-H" OR ke$="-O" OR ke$="-L" THEN 6710
6690 IF ke$="-U" OR ke$="-R" OR ke$="-V" THEN 6710
6700 GOTO 6630
6710 ho=0:ve=20:GOSUB 110:PRINT" "
6720 IF left$(ke$,1)="-" THEN ke$=right$(ke$,1)
6730 FOR h=1 TO 3:GOSUB 1020:NEXT h
6740 GOSUB 6760:GOTO 6410
6750 GOSUB 1020:GOSUB 6760:GOTO 6410
6760 REM tekenroutine
6770 ve=0:ho=0:GOSUB 110
6780 PRINT" 1 2 3 4 5 6 7 8 9 10 11 12"
6790 PRINT:PRINT
6800 FOR i=1 TO 9:ho=0:ve=3+i:GOSUB 110:PRINT i:NEXT i
6810 FOR i=1 TO 6
6820 ON i GOTO 6830,6840,6850,6860,6870,6880
6830 b=1:c=3:d=4:e=6:GOTO 6890
6840 b=4:c=6:d=1:e=3:GOTO 6890
6850 b=4:c=6:d=4:e=6:GOTO 6890
6860 b=4:c=6:d=7:e=9:GOTO 6890
6870 b=4:c=6:d=10:e=12:GOTO 6890
6880 b=7:c=9:d=4:e=6
6890 FOR j=b TO c:FOR k=d TO e
6900 ho=k*3:ve=j+3:GOSUB 110
6910 ON a(j,k) GOTO 6920,6930,6940,6950,6960,6970
6920 CC(0)=6:GOSUB 110:PRINT"**":CC(0)=7:GOTO 6980
6930 CC(0)=3:GOSUB 110:PRINT"**":CC(0)=7:GOTO 6980
6940 CC(0)=1:GOSUB 110:PRINT"**":CC(0)=7:GOTO 6980
6950 CC(0)=2:GOSUB 110:PRINT"**":CC(0)=7:GOTO 6980
6960 CC(0)=4:GOSUB 110:PRINT"**":CC(0)=7:GOTO 6980
6970 PRINT"**"
6980 GOSUB 110:NEXT k:NEXT j:NEXT i:RETURN
6990 GOSUB 100:GOSUB 6570:ve=0:ho=11
7000 GOSUB 110:PRINT"SCHOENE FIGUREN!":ve=1:ho=11
7010 GOSUB 110:PRINT"================":PRINT
7020 PRINT"BITTE WAEHLEN SIE":PRINT
7030 GOSUB 11720:PRINT"A BLOEMEN":PRINT
7040 GOSUB 11720:PRINT"B 4-STIP":PRINT
7050 GOSUB 11720:PRINT"C 6-STIP":PRINT
7060 GOSUB 11720:PRINT"D GUIRLANDE":PRINT
7070 GOSUB 11720:PRINT"E TTTT":PRINT
7080 GOSUB 11720:PRINT"F TEMPELPOORTEN":PRINT
7090 GOSUB 11720:PRINT"G SLANG":PRINT
7100 GOSUB 11720:PRINT"H WORM":PRINT
7110 GOSUB 11720:PRINT"I (WEITER)":PRINT
7120 GOSUB 11720:GOSUB 210:t$=in$:GOSUB 100
7130 IF t$="A" THEN a$="LLRROOUUVVHH":GOSUB 10540:GOTO 6990
7140 IF t$="B" THEN a$="O-URRLLO-UVVHH":GOSUB 10540:GOTO 6990
7150 IF t$="C" THEN a$="L-RO-UV-HL-R":GOSUB 10540:GOTO 6990
7160 IF t$="D" THEN a$="RLVHRLVHRLVH":GOSUB 10540:GOTO 6990
7170 IF t$="E" THEN a$="U-OVVHH-U-ORRLL-URRLLOORRLL-U"
7180 IF t$="E" THEN GOSUB 10540:GOTO 6990
7190 IF t$="F" THEN a$="U-OVVHH-U-ORRLL-URRLLOORRLL-UOO"
7200 IF t$="F" THEN GOSUB 10540:GOTO 6990
7210 IF t$="G" THEN a$="H-LR-URRUL-R-HRROHHU-ORR-U"
7220 IF t$="G" THEN GOSUB 10540:GOTO 6990
7230 IF t$="H" THEN a$="ROVV-U-LRV-H-U-V-"
7240 IF t$="H" THEN a1$="RVVROOVRR-V-R-O-VOOVR"
7250 IF t$="H" THEN a$=a$+a1$
7260 IF t$="H" THEN GOSUB 10540:GOTO 6990
7270 IF t$<>"I" THEN 6990
7280 GOSUB 100:PRINT"BITTE WAEHLEN SIE":PRINT
7290 GOSUB 11720:PRINT"A DUBBELKUBUS":PRINT
7300 GOSUB 11720:PRINT"B 2-RINGEN":PRINT
7310 GOSUB 11720:PRINT"C 4-ZETTER":PRINT
7320 GOSUB 11720:PRINT"D 4-ZETPLUSSER":PRINT
7330 GOSUB 11720:PRINT"E 4-PLUSSER":PRINT
7340 GOSUB 11720:PRINT"F 6-PLUSSER":PRINT
7350 GOSUB 11720:PRINT"G HAHAHAHAHAHA":PRINT
7360 GOSUB 11720:PRINT"H 12-ELLER":PRINT
7370 GOSUB 11720:PRINT"I PUINHOOP":PRINT
7380 GOSUB 11720:PRINT"J (WEITER)":PRINT
7390 GOSUB 11720:GOSUB 210:t$=in$:GOSUB 100
7400 IF t$="A" THEN a$="H-LUULU-VUUV-U-H-VR"
7410 IF t$="A" THEN a1$="OO-R-OHOO-HOV":a$=a$+a1$
7420 IF t$="A" THEN GOSUB 10540:GOTO 6990
7430 IF t$="B" THEN a$="H-LR-URRUL-R-HRROHHU-OHHLROO-L-RHH-U"
7440 IF t$="B" THEN GOSUB 10540:GOTO 6990
7450 IF t$="C" THEN a$="RLVHRLVHRLVHOOUU"
7460 IF t$="C" THEN GOSUB 10540:GOTO 6990
7470 IF t$="D" THEN a$="-R-LOU-R-LOU-R-LOUVVHH"
7480 IF t$="D" THEN GOSUB 10540:GOTO 6990
7490 IF t$="E" THEN a$="VHRLVHRLVHRRLLVHRLVHRLVH"
7500 IF t$="E" THEN GOSUB 10540:GOTO 6990
7510 IF t$="F" THEN a$="RVVHHRRLLOOVVHHRRLLUU-R"
7520 IF t$="F" THEN GOSUB 10540:GOTO 6990
7530 IF t$="G" THEN a$="RLVHOOUURRLLVH-R-L"
7540 IF t$="G" THEN GOSUB 10540:GOTO 6990
7550 IF t$="H" THEN a$="RLOU-V-HRL":GOSUB 10540:GOTO 6990
7560 IF t$="I" THEN a$="VVHHRRLLOO-UROLU"
7570 IF t$="I" THEN GOSUB 10540:GOTO 6990
7580 IF t$<>"J" THEN 7280
7590 GOSUB 100:PRINT"BITTE WAEHLEN SIE":PRINT
7600 GOSUB 11720:PRINT"A MUILKORVEN":PRINT
7610 GOSUB 11720:PRINT"B Y-ER":PRINT
7620 GOSUB 11720:PRINT"C VLAGGEN":PRINT
7630 GOSUB 11720:PRINT"D WIJZER":PRINT
7640 GOSUB 11720:PRINT"E MENU":PRINT
7650 GOSUB 11720:GOSUB 210:t$=in$:GOSUB 100
7660 IF t$="A" THEN a$="LOORRUUOORRUU-L":GOSUB 10540:GOTO 6990
7670 IF t$="B" THEN a$="RRLLUURRLLVVHHUUVVHHUU"
7680 IF t$="B" THEN GOSUB 10540:GOTO 6990
7690 IF t$="C" THEN a$="RRVURR-URHH-RURR-U-VRR"
7700 IF t$="C" THEN a1$="LLHULL-ULVV-LULL-U-H"
7710 IF t$="C" THEN a2$="LLVVRRLLHHR"
7720 IF t$="C" THEN a$=a$+a1$+a2$
7730 IF t$="C" THEN GOSUB 10540:GOTO 6990
7740 IF t$="D" THEN a$="-RV-ULV-LUL-V-L-VRHHRU-R-"
7750 IF t$="D" THEN a1$="URU-R-U-OUR-U-RUR-U-ROHH"
7760 IF t$="D" THEN a$=a$+a1$:GOSUB 10540:GOTO 6990
7770 IF t$<>"E" THEN 7590
7780 GOTO 3000
10000 REM
10010 IF a$="Y" THEN a=1:b=b+1:GOTO 10080
10020 IF a$="B" THEN a=3:c=c+1:GOTO 10080
10030 IF a$="W" THEN a=6:d=d+1:GOTO 10080
10040 IF a$="R" THEN a=4:e=e+1:GOTO 10080
10050 IF a$="G" THEN a=5:g=g+1:GOTO 10080
10060 IF a$="O" THEN a=2:s=s+1:GOTO 10080
10070 a=0:RETURN
10080 IF b>9 OR c>9 OR d>9 THEN 10110
10090 IF e>9 OR g>9 OR s>9 THEN 10110
10100 RETURN
10110 PRINT"NICHT RICHTIG!! NEU ANFANGEN!!"
10120 FOR k=1 TO 1000:NEXT k:a=-1:RETURN
10130 REM zoeken rb
10140 s=0
10150 IF a(1,5)<>po THEN 10170
10160 IF a(4,11)=p THEN a=1:RETURN
10170 IF a(2,4)<>po THEN 10190
10180 IF a(4,2)=p THEN a=2:RETURN
10190 IF a(2,6)<>po THEN 10210
10200 IF a(4,8)=p THEN a=3:RETURN
10210 IF a(3,5)<>po THEN 10230
10220 IF a(4,5)=p THEN a=4:RETURN
10230 IF a(5,1)<>po THEN 10250
10240 IF a(5,12)=p THEN a=5:RETURN
10250 IF a(5,3)<>po THEN 10270
10260 IF a(5,4)=p THEN a=6:RETURN
10270 IF a(5,6)<>po THEN 10290
10280 IF a(5,7)=p THEN a=7:RETURN
10290 IF a(5,9)<>po THEN 10310
10300 IF a(5,10)=p THEN a=8:RETURN
10310 IF a(7,5)<>po THEN 10330
10320 IF a(6,5)=p THEN a=9:RETURN
10330 IF a(8,4)<>po THEN 10350
10340 IF a(6,2)=p THEN a=10:RETURN
10350 IF a(8,6)<>po THEN 10370
10360 IF a(6,8)=p THEN a=11:RETURN
10370 IF a(9,5)<>po THEN 10390
10380 IF a(6,11)=p THEN a=12:RETURN
10390 s=s+1:IF s=1 THEN a=po:po=p:p=a:GOTO 10150
10400 PRINT:PRINT"LEIDER FALSCH!! NOCH EINMAL!!"
10410 FOR k=1 TO 1500:NEXT k:a=-1:RETURN
10420 a$="OO":RETURN
10430 a$="-O":RETURN
10440 a$="O":RETURN
10450 a$="":RETURN
10460 a$="L-O":RETURN
10470 a$="V":RETURN
10480 a$="-V":RETURN
10490 a$="-RO":RETURN
10500 a$="VV":RETURN
10510 a$="-LV":RETURN
10520 a$="R-V":RETURN
10530 a$="UUVV":RETURN
10540 REM uitvoeren van a$
10550 IF LEN(a$)=0 THEN RETURN
10560 FOR n=1 TO LEN(a$)
10570 IF MID$(a$,n,1)="-" THEN ke$=MID$(a$,n+1,1)
10580 IF MID$(a$,n,1)="-" THEN FOR h=1 TO 3:GOSUB 1020
10590 IF NOT (MID$(a$,n,1)="-") THEN 10600
10595 NEXT h
10600 IF MID$(a$,n,1)="-" THEN n=n+1:GOTO 10620
10610 IF MID$(a$,n,1)<>"-" THEN ke$=MID$(a$,n,1):GOSUB 1020
10620 NEXT n:ve=19:ho=0:GOSUB 110:FOR i=1 TO 4
10630 PRINT" ":NEXT i
10640 ve=20:ho=0:GOSUB 110:PRINT a$:GOSUB 6760
10650 ve=22:ho=0:GOSUB 110:PRINT"<RETURN> DRUECKEN";
10660 GOSUB 210:RETURN
10670 a$="HL":RETURN
10680 a$="RHHL":RETURN
10690 a$="L":RETURN
10700 a$="-L":RETURN
10710 a$="-VOV":RETURN
10720 a$="HHL":RETURN
10730 a$="-ULL":RETURN
10740 a$="LL":RETURN
10750 a$="UULL":RETURN
10760 a$="-HL":RETURN
10770 a$="RH":RETURN
10780 a$="-H":RETURN
10790 a$="-O-LO":RETURN
10800 a$="OR-O":RETURN
10810 a$="H":RETURN
10820 a$="UUHH":RETURN
10830 a$="-UHH":RETURN
10840 a$="UHH":RETURN
10850 a$="HH":RETURN
10860 a$="-O-HO":RETURN
10870 a$="OV-O":RETURN
10880 a$="R":RETURN
10890 a$="-R":RETURN
10900 a$="URR":RETURN
10910 a$="UURR":RETURN
10920 a$="RR":RETURN
10930 a$="-URR":RETURN
10940 a$="-VHUUV-H":RETURN
10950 a$="VHUU-V-H":RETURN
10960 a$="RU-R-LUL":RETURN
10970 a$="-L-UL":RETURN
10980 a$="H-U-H":RETURN
10990 a$="HU-H":RETURN
11000 a$="-LUL":RETURN
11010 a$="-RLUU-LR":RETURN
11020 a$="RLUU-R-L":RETURN
11030 a$="L-U-L":RETURN
11040 a$="-VUV":RETURN
11050 a$="-V-UV":RETURN
11060 a$="LU-L":RETURN
11070 a$="V-HUUH-V":RETURN
11080 a$="-RUR":RETURN
11090 a$="VU-V":RETURN
11100 a$="V-U-V":RETURN
11110 a$="-R-UR":RETURN
11120 a$="RU-R":RETURN
11130 a$="-H-UH":RETURN
11140 a$="-HUH":RETURN
11150 a$="R-U-R":RETURN
11160 a$="U":RETURN
11170 a$="-U":RETURN
11180 a$="UU":RETURN
11190 a$="-R-H-R-URUV-U-VHR":RETURN
11200 a$="-R-URUV-U-V":RETURN
11210 a$="-V-UVUL-U-L":RETURN
11220 REM zoeken van hb
11230 s=0
11240 IF a(3,4)<>po OR a(4,4)<>p THEN 11260
11250 IF a(4,3)=m THEN a=1:RETURN
11260 IF a(3,6)<>po OR a(4,7)<>p THEN 11280
11270 IF a(4,6)=m THEN a=2:RETURN
11280 IF a(1,4)<>po OR a(4,1)<>p THEN 11300
11290 IF a(4,12)=m THEN a=3:RETURN
11300 IF a(1,6)<>po OR a(4,10)<>p THEN 11320
11310 IF a(4,9)=m THEN a=4:RETURN
11320 IF a(6,3)<>po OR a(6,4)<>p THEN 11340
11330 IF a(7,4)=m THEN a=5:RETURN
11340 IF a(6,6)<>po OR a(6,7)<>p THEN 11360
11350 IF a(7,6)=m THEN a=6:RETURN
11360 IF a(6,1)<>po OR a(9,4)<>p THEN 11380
11370 IF a(6,12)=m THEN a=7:RETURN
11380 IF a(6,9)<>po OR a(6,10)<>p THEN 11400
11390 IF a(9,6)=m THEN a=8:RETURN
11400 s=s+1:ON s GOTO 11410,11410,11420,11430,11430,11440
11410 a=po:po=p:p=m:m=a:GOTO 11240
11420 a=po:po=m:m=a:GOTO 11240
11430 a=po:po=p:p=m:m=a:GOTO 11240
11440 GOTO 10400
11450 a$="VR-V-LV-R-VL":RETURN
11460 a$="-HLV-LHL-V-L":RETURN
11470 a$="-LOR-OLO-R-O":RETURN
11480 a$="-LVR-VLV-R-V":RETURN
11490 a$="VO-V-UV-O-VU":RETURN
11500 a$="LV-L-HL-V-LH":RETURN
11510 a$="ULV-L-HL-V-LH-U":RETURN
11520 a$="OV-O-HO-V-OH":RETURN
11530 a$="-HOV-OHO-V-O":RETURN
11540 a$="-RVL-VRV-L-V":RETURN
11550 a$="VL-V-RV-L-VR":RETURN
11560 a$="U-RVL-VRV-L-V-U":RETURN
11570 a$="-ORU-ROR-U-R":RETURN
11580 a$="-OHU-HOH-U-H":RETURN
11590 a$="LO-L-UL-O-LU":RETURN
11600 a$="-ULO-L-UL-O-LUU":RETURN
11610 a$="-ULO-LUL-O-L":RETURN
11620 a$="-LHR-HLH-R-H":RETURN
11630 a$="U-HRV-RHR-V-R-U":RETURN
11640 a$="-HRV-RHR-V-R":RETURN
11650 a$="HO-H-UH-O-HU":RETURN
11660 a$="-UHO-HUH-O-H":RETURN
11670 a$="UR-U-LU-R-UL":RETURN
11680 a$="-LUR-ULU-R-U":RETURN
11690 a$="UV-U-HU-V-UH":RETURN
11700 a$="-RUL-URU-L-U":RETURN
11710 a$="UL-U-RU-L-UR":RETURN
11720 GOSUB 120:ho=4:GOSUB 110:RETURN
30000 REM ************************
30010 REM * kubus! *
30020 REM * gemaakt door *
30030 REM * jan broeckx *
30040 REM * karmelietenstr. 66 *
30050 REM * 2600 berchem *
30060 REM * belgie *
30061 REM * deutsch 2019, *
30062 REM * farbe 2023: *
30063 REM * thomas rademacher *
30064 REM * fr.-engels-str. 44 *
30065 REM * 99086 erfurt *
30066 REM * deutschland *
30070 REM ************************
30080 REM
30090 REM copyright nos hilversum
Um mich nicht mit fremden Federn zu schmücken, möchte ich noch einmal darauf hinweisen, dass das Programm von einem belgischen Autor stammt, ich habe es lediglich ins Deutsche übertragen und nun auch auf Farbbetrieb umgeschrieben.
Der Bascoder ist noch nicht vollständig, wenn es so weit ist, werde ich ein Diskettenabbild mit noch mehr Beispielprogrammen zusammenstellen und mich hier melden.
Das Bild zeigt das gleiche Programm auf dem Amiga, dort natürlich mit dessen Bascoder.