home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh1x
/
sh17a.d64
/
game
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
17KB
|
577 lines
100 DIMB$(2,2,2),W$(2,2,2),VZ$(2,2,2),Y$(27),Q(12),A1$(27),C2$(27),L1(43),H1(43)
110 DIMT1(43),L2(16),H2(16),T2(16),L3(27),H3(27),T3(27)
120 LV=1:V=53248:SI=54272:FL=SI:FH=SI+1:WS=SI+4:AS=SI+5:HS=SI+6:LS=SI+24
130 GOSUB 4740
140 :
150 REM --- TITELBILD ---
160 PRINTSPC(12)"[158] MATTHIAS SCHERF "
170 PRINTSPC(17)"[153]PRESENTS"
180 PRINTSPC(10)" [146] [146] [146] [146]"
190 PRINTSPC(12)" [146] [146] [146] [146]"
200 PRINTSPC(12)" [146] [146] [146]"
210 PRINTSPC(12)" [146] [146] [146] [146]"
220 PRINTSPC(12)" [146] [146] [146]";
230 PRINT" [146]"
240 PRINTSPC(6)" [146] [159] [146] [146] [158]";
250 PRINT" [146] [154] [146]"
260 PRINTSPC(6)" [146] [159] [146] [146] [158]";
270 PRINT" [146] [146] [154] [146]"
280 PRINTSPC(6)" [146] [159] [146] [146] [158]";
290 PRINT" [146] [154] [146]"
300 PRINTSPC(6)" [146] [159] [146] [146] [158]";
310 PRINT" [146] [154] [146]"
320 PRINTSPC(6)" [146] [159] [146] [146] [158]";
330 PRINT" [146] [146] [154] [146]"
340 PRINTSPC(6)" [146] [159] [146] [146] [158]";
350 PRINT" [146] [146] [154] [146]"
360 PRINTSPC(6)" [146] [159] [146] [158]";
370 PRINT" [146] [154] [146]"
380 PRINT"[152] DAS GROSSE KNOBELSPIEL F^R KLUGE LEUTE":GOSUB 3800
390 PRINT"[145][156] F 1 [146] [152]INSTRUCTIONS [156] F 3 [146] [152]PLAY GAME"
400 GET A$:IFA$=""THEN400
410 IFASC(A$)=134THEN860
420 IFASC(A$)<>133THEN400
430 PRINTCHR$(147):FORI=0TO5:PRINT:NEXT
440 :
450 REM --- SPIELANLEITUNG ---
460 PRINTSPC(4)"ZIEL DIESES SPIELS IST ES,EINEN":PRINT
470 PRINTSPC(16)"[159]W^RFEL":PRINT
480 PRINTSPC(3)"AUS [158]SECHS TEILEN ZUSAMMENZUSETZEN:"
490 GOSUB 800
500 PRINT"[154]1.SCHRITT:W*HLEN SIE DURCH DIE TASTEN":PRINT
510 PRINT"1 - 6 EIN TEIL AUS.":PRINT
520 PRINT"ANORDNUNG: 1 2"
530 PRINT" 3 4"
540 PRINT" 5 6":PRINT
550 PRINT"[154]2.SCHRITT:BESTIMMEN SIE DIE LAGE DES":PRINT
560 PRINT"TEILS,INDEM SIE ZUERST EINGEBEN,OB SIE ":PRINT
570 PRINT"DAS TEIL [159]K[158]IPPEN ODER [159]D[158]REHEN WOLLEN.":PRINT
580 PRINT"ANSCHLIESSEND DANN DIE RICHTUNG:":PRINT
590 PRINT"[159]L[158]INKS,[159]R[158]ECHTS,[159]V[158]ORNE,[159]H[158]INTEN.":PRINT
600 PRINT"BEISPIEL:[159] DL [158]= DREHEN NACH LINKS.":PRINT
610 PRINT"TASTE [159]E[158] BEENDET DEN VORGANG!"
620 GOSUB800
630 PRINT"[147][154]3.SCHRITT:IN DIESEM W^RFELKASTEN :":GOSUB1470:POKE 646,5
640 FORI=1TO10:PRINT:NEXT
650 PRINT"(SICHT VON OBEN) WIRD DAS TEIL EINGE-":PRINT
660 PRINT"TRAGEN:JE WEITER UNTEN SICH DAS TEIL ":PRINT
670 PRINT"BEFINDET,DESTO DUNKLER ERSCHEINT ES.":PRINT
680 PRINT"BEWEGEN SIE DAS TEIL IM W^RFEL DURCH":PRINT
690 PRINT"TASTE B-FIXIEREN SIE ES MIT TASTE F!"
700 GOSUB800
710 PRINT"[154]4.SCHRITT:W*HLEN SIE DAS N*CHSTE TEIL":PRINT
720 PRINT"AUS..."
730 PRINT:PRINT"ES GIBT DREI VERSCHIEDENE SCHWIERIG-":PRINT
740 PRINT"KEITSSTUFEN!":PRINT:PRINT"UND NUN...":PRINT
750 PRINTSPC(14)"[150]VIEL GL^CK!":PRINT:PRINT
760 PRINT"P.S. SOLLTEN SIE AUS EINER SITUATION":PRINT
770 PRINTSPC(5)"KEINEN AUSWEG MEHR SEHEN,":PRINT
780 PRINTSPC(5)"SO DR^CKEN SIE [159]Q.":PRINT:PRINT:PRINT
790 GOTO 390
800 PRINTCHR$(19):FORI=0TO20:PRINT:NEXT:PRINTSPC(18)"[150]PRESS F1 TO CONTINUE"
810 GET A$:IFA$=""THEN810
820 IFASC(A$)<>133THEN810
830 PRINTCHR$(147);:RETURN
840 :
850 REM --- LEVELAUSWAHL ---
860 PRINTCHR$(147)
870 ON LV GOSUB4000,4190,4340
880 GOTO1090
890 :
900 REM --- KOMMENTAR SPIEL VERLOREN ---
910 PRINTCHR$(147)
920 TR(LV)=TR(LV)+1
930 PRINT"TJA,TUT MIR LEID-IST WOHL DOCH NICHT SO":PRINT
940 PRINT"EINFACH WIE ES AUSSIEHT?!":PRINT
950 PRINT"ABER ES IST JA ERST IHR";TR(LV);"[157].TER VERSUCH.":PRINT:PRINT
960 PRINT"ALSO NICHT VERZAGEN!!-AUF EIN NEUES!!":
970 GOSUB 800:GOTO870
980 :
990 REM --- KOMMENTAR SPIEL GEWONNEN ---
1000 PRINTCHR$(147):TR(LV)=TR(LV)+1
1010 PRINT"HERZLICHEN GL^CKWUNSCH!":PRINT
1020 PRINT"SIE HABEN DEN W^RFEL IM";TR(LV);"[157].TEN":PRINT
1030 PRINT"VERSUCH GESCHAFFT!":PRINT
1040 IFLV=3THEN GOSUB 800:GOTO 4540
1050 PRINT"UND HIER - DER N*CHSTE KANDIDAT:..."
1060 GOSUB 800:LV=LV+1:GOTO870
1070 :
1080 REM --- ZEICHNEN DER TEILE ---
1090 POKE53280,0:POKE53281,0:PRINTCHR$(147)
1100 GOSUB1470:POKE 646,5
1110 FOR AN=0TO5:H=0
1120 FORE=0TO2:FORA=0TO2:FORR=1TO3
1130 H=H+1:D$=MID$(A$(AN),H,1)
1140 IFD$="1"THENGOSUB1530
1150 NEXT:NEXT:NEXT:NEXT
1160 :
1170 :
1180 REM --- AUSWAHL EINES TEILS ---
1190 PRINT"TEIL NUMMER 1-6 : $"
1200 GET TN$:IFTN$=""THEN 1200
1210 IFTN$="Q"THENZ4=0:GOTO3140
1220 TN=VAL(TN$):IFTN<1ORTN>6THEN1190
1230 FORI=0TOZR:IFIV(I)=TNTHEN1190
1240 NEXT:AN=TN-1:POKE 1042,ASC(TN$):GOSUB1930
1250 :
1260 REM --- TEIL DREHEN ---
1270 K(AN)=1788:H=0
1280 FOR E=0TO2:FORA=0TO2:FORR=1TO3
1290 H=H+1:D$=MID$(A$(AN),H,1)
1300 IFD$="1"THEN GOSUB1530
1310 NEXT:NEXT:NEXT:GOSUB1570
1320 :
1330 PRINT"DREHRICHTUNG : $ ":B$=""
1340 GET DR$:IFDR$=""THEN 1340
1350 IFDR$="E"THENPOKE1039,5:GOSUB2000:GOTO2080
1360 IFDR$="Q"THENZ4=0:GOTO3140
1370 DR=ASC(DR$)
1380 IF DR=20THEN1330
1390 IF DR>90ORDR<65THEN1340
1400 B$=B$+DR$:PRINT "";SPC(14+LEN(B$))DR$;
1410 IFLEN(B$)=1THENPRINT"$":GOTO1340
1420 FORB=1TO6:IFBF$(B)<>B$THENNEXT:GOTO 1330
1430 ON B GOSUB1660,1690,1720,1750,1770,1810
1440 GOTO 1280
1450 :
1460 REM --- ZEICHNEN DES WUERFELKASTENS ---
1470 PRINT"[155]"
1480 FORI=0TO5:POKE1117+I,36:POKE55389+I,15:POKE1397+I,35:POKE 55669+I,15
1490 POKE1156+40*I,38:POKE 55428+40*I,15:POKE1163+40*I,37:POKE55435+40*I,15:NEXT
1500 RETURN
1510 :
1520 REM --- ZEICHENEN DER ELEMENTARWUERFEL ---
1530 PO=K(AN)+2*R+39*A-80*E:SYS(49152)PO
1540 RETURN
1550 :
1560 REM --- TEILE-DATEN IN 3-D STRING ZERLEGEN ---
1570 H=0
1580 FOR G=0TO2:FORI=0TO2:FORT=0TO2
1590 H=H+1:W$(G,I,T)=MID$(A$(AN),H,1):B$(G,I,T)=W$(G,I,T)
1600 NEXT:NEXT:NEXT
1610 H=0
1620 RETURN
1630 :
1640 REM --- DREHEN DES TEILS NACH... ---
1650 REM +++ VORNE (K) +++
1660 FORG=0TO2:FORI=0TO2:A=2-I:FORT=0TO2
1670 B$(A,G,T)=W$(G,I,T):NEXT:NEXT:NEXT:A$(AN)="":GOTO1840
1680 REM +++ RECHTS (D) +++
1690 FORG=0TO2:FORI=0TO2:A=2-I:FORT=0TO2
1700 B$(G,T,A)=W$(G,I,T):NEXTT:NEXTI:NEXTG:A$(AN)="":GOTO1840
1710 REM +++ RECHTS (K) +++
1720 FORG=0TO2:FORI=0TO2:FORT=0TO2:Z=2-T
1730 B$(Z,I,G)=W$(G,I,T):NEXT:NEXT:NEXT:A$(AN)="":GOTO 1840
1740 REM +++ HINTEN (K) +++
1750 FORG=0TO2:A=2-G:FORI=0TO2:FORT=0TO2
1760 B$(I,A,T)=W$(G,I,T):NEXT:NEXT:NEXT:A$(AN)="":GOTO1840
1770 REM +++ LINKS (D)+++
1780 FORG=0TO2:FORI=0TO2:FORT=0TO2:Z=2-T
1790 B$(G,Z,I)=W$(G,I,T):NEXTT:NEXTI:NEXTG:A$(AN)="":GOTO1840
1800 REM +++ LINKS (K) +++
1810 FORG=0TO2:A=2-G:FORI=0TO2:FORT=0TO2:Z=2-T
1820 B$(T,I,A)=W$(G,I,T):NEXT:NEXT:NEXT:A$(AN)="":GOTO 1840
1830 :
1840 FORG=0TO2:FORI=0TO2:FORT=0TO2:A$(AN)=A$(AN)+B$(G,I,T):NEXT:NEXT:NEXT
1850 :
1860 REM --- LOESCHROUTINE 1 ---
1870 FORI=0TO8:FORT=0TO9
1880 POKEK(AN)-200+I+40*T,32
1890 NEXT:NEXT
1900 RETURN
1910 :
1920 REM --- LOESCHROUTINE 2 ---
1930 FORI=0TO7:FORT=0TO8
1940 POKEK(AN)-3*40+T+40*I,32
1950 NEXT:NEXT:POKEK(AN)+4,TN+48:POKE54272+K(AN)+4,1
1960 ZR=ZR+1:IV(ZR)=TN
1970 RETURN
1980 :
1990 REM --- ZERLEGEN IN 3-D STRING ---
2000 H=0
2010 FOR G=0TO2:FORI=0TO2:FORT=0TO2
2020 H=H+1:B$(G,I,T)=MID$(A$(AN),H,1)
2030 NEXT:NEXT:NEXT
2040 H=0:PRINT"BITTE WARTEN SIE EINEN MOMENT!"
2050 RETURN
2060 :
2070 REM --- TEIL VERSCHIEBBAR NACH...? ---
2080 :
2090 REM +++ R E C H T S +++
2100 FOR A=2TO1STEP-1:C=C+1:FOR I=0TO2:FORT=0TO2
2110 IFB$(I,T,A)="0"THENNEXT:NEXT:Q(C)=1:NEXT:GOTO2140
2120 IFC/2<>INT(C/2)THENC=C+1
2130 REM +++ L I N K S +++
2140 FOR A=0TO1:C=C+1:FORI=0TO2:FORT=0TO2
2150 IFB$(I,T,A)="0"THENNEXT:NEXT:Q(C)=1:NEXT:GOTO2180
2160 IFC/2<>INT(C/2)THENC=C+1
2170 REM +++ V O R N E +++
2180 FOR A=2TO1STEP-1:C=C+1:FOR I=0TO2:FORT=0TO2
2190 IFB$(I,A,T)="0"THENNEXT:NEXT:Q(C)=1:NEXT:GOTO2220
2200 IFC/2<>INT(C/2)THENC=C+1
2210 REM +++ H I N T E N +++
2220 FOR A=0TO1:C=C+1:FORI=0TO2:FORT=0TO2
2230 IFB$(I,A,T)="0"THENNEXT:NEXT:Q(C)=1:NEXT:GOTO2260
2240 IFC/2<>INT(C/2)THENC=C+1
2250 REM +++ O B E N +++
2260 FOR A=2TO1STEP-1:C=C+1:FOR I=0TO2:FORT=0TO2
2270 IFB$(A,I,T)="0"THENNEXT:NEXT:Q(C)=1:NEXT:GOTO2300
2280 IFC/2<>INT(C/2)THENC=C+1
2290 REM +++ U N T E N +++
2300 FOR A=0TO1:C=C+1:FORI=0TO2:FORT=0TO2
2310 IFB$(A,I,T)="0"THENNEXT:NEXT:Q(C)=1:NEXT:GOTO2330
2320 IFC/2<>INT(C/2)THENC=C+1
2330 :
2340 REM --- ERMITTELN ALLER 'DUALSTRINGS',DER NEUEN TEILE, ---
2350 REM ----------- DIE DIE VERSCHIEBUNGEN ERGABEN -----------
2360 :
2370 FORT=1TO12:IFQ(T)=1THENRZ=RZ+1:VE(RZ)=T
2380 NEXTT:Y$(0)=A$(AN):ZI=0:GOTO3030
2390 IFVE(ZI)>4ANDOS=0THENOV=ZI-1:OS=1
2400 IFOK<>0THEN2420
2410 IFVE(ZI)>8THENOP=OV+Z3:OK=1
2420 ONVE(ZI)GOTO 2450,2500,2550,2600,2650,2700,2750,2800,2860,2900,2940,2980
2430 :
2440 REM +++ RECHTS (1) +++
2450 FOR A=0TO2:FORE=0TO2:FORT=0TO1
2460 VZ$(A,E,T+1)=B$(A,E,T)
2470 NEXT:NEXT:NEXT:GOTO3020
2480 :
2490 REM +++ RECHTS (2) +++
2500 FOR A=0TO2:FORE=0TO2
2510 VZ$(A,E,2)=B$(A,E,0)
2520 NEXT:NEXT:GOTO3020
2530 :
2540 REM +++ LINKS (1) +++
2550 FOR A=0TO2:FORE=0TO2:FORT=1TO2
2560 VZ$(A,E,T-1)=B$(A,E,T)
2570 NEXT:NEXT:NEXT:GOTO3020
2580 :
2590 REM +++ LINKS (2) +++
2600 FOR A=0TO2:FORE=0TO2
2610 VZ$(A,E,0)=B$(A,E,2)
2620 NEXT:NEXT:GOTO3020
2630 :
2640 REM +++ VORNE (1) +++
2650 FORA=0TOOV:Z3=Z3+1
2660 Y$(OV+Z3)=RIGHT$(Y$(A),3)+LEFT$(Y$(A),24)
2670 NEXTA:GOTO3030
2680 :
2690 REM +++ VORNE (2) +++
2700 FORA=0TOOV:Z3=Z3+1
2710 Y$(OV+Z3)=RIGHT$(Y$(A),6)+LEFT$(Y$(A),21)
2720 NEXT:GOTO3030
2730 :
2740 REM +++ HINTEN (1) +++
2750 FORA=0TOOV:Z3=Z3+1
2760 Y$(OV+Z3)=RIGHT$(Y$(A),24)+LEFT$(Y$(A),3)
2770 NEXTA:GOTO3030
2780 :
2790 REM +++ HINTEN (2) +++
2800 FORA=0TOOV:Z3=Z3+1
2810 Y$(OV+Z3)=RIGHT$(Y$(A),21)+LEFT$(Y$(A),6)
2820 NEXT:GOTO3030
2830 NEXTA
2840 :
2850 REM +++ OBEN (1) +++
2860 FORT=0TOOP:Z2=Z2+1
2870 Y$(OP+Z2)="000000000"+LEFT$(Y$(T),18):NEXT:GOTO3040
2880 :
2890 REM +++ OBEN (2) +++
2900 FORT=0TOOP:Z2=Z2+1
2910 Y$(OP+Z2)="000000000000000000"+LEFT$(Y$(T),9):NEXT:GOTO3040
2920 :
2930 REM +++ UNTEN (1) +++
2940 FORT=0TOOP:Z2=Z2+1
2950 Y$(OP+Z2)=RIGHT$(Y$(T),18)+"000000000":NEXT:GOTO3040
2960 :
2970 REM +++ UNTEN (2) +++
2980 FORT=0TOOP:Z2=Z2+1
2990 Y$(OP+Z2)=RIGHT$(Y$(T),9)+"000000000000000000":NEXT:GOTO3040
3000 :
3010 REM +++ RUECKFUEHRUNG AUF 1-D STRING +++
3020 FORA=0TO2:FORE=0TO2:FORR=0TO2:Y$(ZI)=Y$(ZI)+VZ$(A,E,R):NEXT:NEXT:NEXT
3030 FORA=0TO2:FORE=0TO2:FORR=0TO2:VZ$(A,E,R)="0":NEXT:NEXT:NEXT
3040 :
3050 ZI=ZI+1:IFZI<=RZTHEN2390
3060 SL=OV+Z2+Z3:IF SL=0 THEN SL=RZ
3070 :
3080 REM --- PASST DAS TEIL IN DEN WUERFELKASTEN ? ---
3090 FORI=0TOSL
3100 FORT=1TO27
3110 IFMID$(Y$(I),T,1)="1"ANDMID$(W$,T,1)="1"THEN3130
3120 NEXT:Z4=Z4+1:A1$(Z4)=Y$(I)
3130 NEXT I
3140 IF Z4<>0 THEN 3200
3150 GOSUB 3510
3160 PRINT"DAS WAR WOHL NICHTS...";:GOSUB 3860
3170 PRINT"PRESS ANY KEY!":GOTO 3750
3180 :
3190 REM --- NEUE GESAMTWUERFELDATEN ERSTELLEN ---
3200 FORI=1TOZ4:C2$(I)=""
3210 FORT=1TO27
3220 IFMID$(A1$(I),T,1)="0"ANDMID$(W$,T,1)="0"THENC2$(I)=C2$(I)+"0":GOTO3240
3230 C2$(I)=C2$(I)+"1"
3240 NEXTT:NEXTI:G=0
3250 :
3260 REM --- TEIL IN DEN KASTEN EINTRAGEN ---
3270 H=0:G=1:GOSUB 3600
3280 FORA=0TO2:FORE=0TO2:FORR=0TO2:H=H+1
3290 D$=MID$(C2$(G),H,1)
3300 IFD$="1"THENGOSUB3660
3310 NEXT:NEXT:NEXT
3320 :
3330 REM --- ABFRAGE DER POSITION ---
3340 PRINT"B = BEWEGEN F = FIXIEREN!"
3350 GET GE$:IFGE$=""THEN3350
3360 IFGE$="F"THEN W$=C2$(G):GOSUB1870:GOTO3440
3370 IFGE$="B"THEN 3400
3380 IFGE$="Q"THEN Z4=0:GOTO3140
3390 GOTO 3350
3400 G=G+1:IFG>Z4THENG=1
3410 GOSUB3600:H=0:GOTO3280
3420 :
3430 REM --- INHALT DES WUERFELKASTENS ZEICHNEN ---
3440 K(AN)=1304:Z=0:GOSUB 1870
3450 FOR E=0TO2:FORA=0TO2:FORR=1TO3:Z=Z+1
3460 D$=MID$(W$,Z,1)
3470 IFD$="1"THENGOSUB1530
3480 NEXT:NEXT:NEXT
3490 :
3500 REM --- LOESCHROUTINE 3 ---
3510 FORI=0TO32:POKE1024+I,32:NEXT
3520 :
3530 REM --- LOESCHEN DER VARIABLEN ---
3540 FORI=0TO27:Y$(I)="":A1$(I)="":C2$(I)="":NEXT:FORI=0TO12:Q(I)=0:NEXT
3550 C=0:RZ=0:OV=0:OK=0:OS=0:OP=0:Z2=0:Z3=0:ZI=0:SL=0:Z=0
3560 IF Z4=0 THEN RETURN
3570 Z4=0:GOTO3730
3580 :
3590 REM --- LOESCHROUTINE 4 ---
3600 FORI=0TO5:FORT=0TO5
3610 POKE1157+T+40*I,32
3620 NEXT:NEXT
3630 RETURN
3640 :
3650 REM --- ZEICHNEN DES TEILS IN DEN WUERFELKASTEN ---
3660 PV=1157+2*R+80*E
3670 FORI=0TO1:FORT=0TO1
3680 POKEPV+I+40*T,224-A*64
3690 NEXT:NEXT
3700 RETURN
3710 :
3720 REM --- WUERFEL FERTIG ? ---
3730 IFZR<6THEN GOTO1190
3740 PRINT"HERZLICHEN GL^CKWUNSCH! ";:GOSUB 3920:PRINT"PRESS ANY KEY!"
3750 GET GE$:IFGE$=""THEN3750
3760 IFZR=6THENZR=0:GOTO 1000
3770 ZR=0:GOTO 910
3780 :
3790 REM --- TITELMELODIE ---
3800 POKE LS,15:POKE AS,0:POKE HS,15*16
3810 FORI=0TO43:POKE FH,L1(I):POKE FL,H1(I):POKE WS,17
3820 FOR T=1TOT1(I)*(1/16)*1500:NEXT:FOR T=1TO2:POKE WS,0:NEXT:POKE WS,17
3830 NEXT:POKE WS,0:POKE AS,0:POKE HS,0:RETURN
3840 :
3850 REM --- MELODIE WUERFEL NICHT GESCHAFFT ---
3860 POKE LS,15:POKE AS,0:POKE HS,15*16
3870 FORI=0TO15:POKE FH,L2(I):POKE FL,H2(I):POKE WS,17
3880 FOR T=1TOT2(I)*(1/8)*1300:NEXT:FOR T=1TO2:POKE WS,0:NEXT:POKE WS,17
3890 NEXT:POKE WS,0:POKE AS,0:POKE HS,0:RETURN
3900 :
3910 REM --- MELODIE WUERFEL GESCHAFFT ---
3920 POKE LS,15:POKE AS,0:POKE HS,15*16
3930 FORI=0TO26:POKE FH,L3(I):POKE FL,H3(I):POKE WS,17
3940 FOR T=1TOT3(I)*(1/8)*1000:NEXT:FOR T=1TO2:POKE WS,0:NEXT:POKE WS,17
3950 NEXT:POKE WS,0:POKE AS,0:POKE HS,0:RETURN
3960 :
3970 REM --- DATEN FUER DIE WUERFELTEILE ---
3980 :
3990 REM --- LEVEL 1... ---
4000 A$(0)="111011001000000000000000000"
4010 A$(1)="011010000001000000000000000"
4020 A$(2)="110110000011000000000000000"
4030 A$(3)="011000000000000000000000000"
4040 A$(4)="111100000001000000000000000"
4050 A$(5)="111000000001000000000000000"
4060 :
4070 REM --- DATEN FUER DIE FARBEN ---
4080 F(1)=1:F(2)=1:F(3)=10:F(4)=10:F(5)=2:F(6)=10:F(7)=10:F(8)=2
4090 FORI=0TO8:POKE870+I,F(I):NEXT
4100 :
4110 REM --- EXTENDED COLOUR-MODUS ---
4120 GOSUB 4490
4130 POKEV+34,1
4140 POKEV+35,10
4150 POKEV+36,2
4160 RETURN
4170 :
4180 REM --- LEVEL 2... ---
4190 A$(0)="001011000001000000000000000"
4200 A$(1)="111001000000000000000000000"
4210 A$(2)="010011000110000000000000000"
4220 A$(3)="011011000010000000000000000"
4230 A$(4)="011010000001000000000000000"
4240 A$(5)="001111000001000000000000000"
4250 F(1)=1:F(2)=1:F(3)=13:F(4)=13:F(5)=5:F(6)=13:F(7)=13:F(8)=5
4260 FORI=0TO8:POKE870+I,F(I):NEXT
4270 GOSUB 4490
4280 POKEV+35,13
4290 POKEV+36,5
4300 POKEV+34,1
4310 RETURN
4320 :
4330 REM --- LEVEL 3 ---
4340 A$(0)="001011000001000000000000000"
4350 A$(1)="010011000110000000000000000"
4360 A$(2)="001111000001000000000000000"
4370 A$(3)="001011000001000000000000000"
4380 A$(4)="111010000001000000000000000"
4390 A$(5)="111100000000000000000000000"
4400 F(1)=1:F(2)=1:F(3)=14:F(4)=14:F(5)=6:F(6)=14:F(7)=14:F(8)=6
4410 FORI=0TO8:POKE870+I,F(I):NEXT
4420 GOSUB 4490
4430 POKEV+34,1
4440 POKEV+35,14
4450 POKEV+36,6
4460 RETURN
4470 :
4480 REM --- KOORDINATENDATEN ---
4490 POKEV+17,PEEK(V+17)OR4*16
4500 K(0)=1205:K(1)=1214:K(2)=1525:K(3)=1534:K(4)=1845:K(5)=1854:K(6)=1304
4510 W$="000000000000000000000000000":RETURN
4520 :
4530 REM --- EINE URKUNDE FUER DEN SIEGER... ---
4540 PRINT CHR$(147)
4550 PRINT"GEBEN SIE IHREN NAMEN EIN:":PRINT
4560 INPUT N$
4570 PRINT CHR$(147)
4580 PRINT SPC(10)"U R K U N D E"
4590 PRINT SPC(10)"#############":PRINT
4600 PRINT"DER/DIE KNOBLER/IN [158]";N$:PRINT:POKE 646,5
4610 PRINT"HAT ES GESCHAFFT,ALLE DREI W^RFEL ":PRINT
4620 PRINT"ZUSAMMENZUSETZEN.":PRINT:PRINT
4630 PRINTN$;" BEN\TIGTE F^R DEN":PRINT
4640 POKE646,10:PRINT"ERSTEN W^RFEL ";TR(1);"VERSUCH(E)":PRINT
4650 POKE646,13:PRINT"ZWEITEN W^RFEL ";TR(2);"VERSUCH(E)":PRINT
4660 POKE646,14:PRINT"DRITTEN W^RFEL ";TR(3);"VERSUCH(E)":PRINT:GOSUB 3800
4670 FORI=0TO3:PRINT:NEXT:POKE 646,4
4680 PRINT"WANT TO PLAY AGAIN (Y/N) ?"
4690 GET A$:IFA$=""THEN4690
4700 IFASC(A$)=89THEN POKE V+17,27:RUN
4710 PRINT CHR$(147):POKE 53280,14:POKE 53281,6:POKE 646,14:END
4720 :
4730 REM --- MASCHINENPROGRAMM 1 (ZEICHENSATZVERSCHIEBUNG) ---
4740 FORI=0TO71:READQ:POKE4300+I,Q:NEXT
4750 DATA173,14,220,41,254,141,14,220,165,1,41,251,133,1,169,8,133,34,133
4760 DATA36,169,216,133,35,169,8,133,37,162,8,160,0,177,34,145,36,136,208
4770 DATA249,230,35,230,37,202,208,240,165,1,9,4,133,1,173,24,208,41,240,9
4780 DATA2,141,24,208,173,14,220,9,1,141,14,220,96,255
4790 :
4800 SYS4300
4810 :
4820 :
4830 REM --- AENDERN EINIGER ZEICHEN... ---
4840 FORI=0TO5:READX:FORT=0TO7:READZ:POKE X+T,Z:NEXT:NEXT
4850 FORI=0TO7:POKE2328+I,PEEK(2840+I):NEXT
4860 FORI=0TO7:POKE2336+I,PEEK(2848+I):NEXT
4870 FORI=0TO7:POKE2344+I,192:NEXT
4880 FORI=0TO7:POKE2352+I,3:NEXT
4890 FORI=1TO26:FORT=0TO7:READZ:POKE2048+T+8*I,Z:NEXT:NEXT
4900 FORI=1TO10:FORT=0TO7:READZ:POKE2424+T+8*I,Z:NEXT:NEXT
4910 :
4920 REM --- LESEN DER MELODIE-DATEN ---
4930 FORI=0TO43:READL1(I),H1(I),T1(I):NEXT
4940 FORI=0TO15:READL2(I),H2(I),T2(I):NEXT
4950 FORI=0TO26:READL3(I),H3(I),T3(I):NEXT
4960 :
4970 REM --- MASCHINENPROGRAMM 2 (ELEMENTARWUERFEL ZEICNEN) ---
4980 FORI=49152TO49480:READX:POKEI,X:NEXT
4990 :
5000 REM --- EINLESEN VON POKE-DATEN FUER DEN WUERFEL ---
5010 FORI=860TO868:READX:POKEI,X:NEXT
5020 :
5030 REM --- EINLESEN ALLER MOEGLICHEN DREH-U. KIPPBEFEHLE ---
5040 FORI=1TO6:READ BF$(I):NEXT:RETURN
5050 :
5060 REM --- ZEICHENDATEN ---
5070 DATA2048,255,254,252,248,240,224,192,128
5080 DATA2272,198,56,198,230,230,230,60,0
5090 DATA2384,198,56,108,254,230,230,230,0
5100 DATA2288,198,0,230,230,230,230,254,0
5110 DATA2312,120,120,120,120,120,0,120,0
5120 DATA2552,254,206,14,60,48,0,56,0
5130 DATA126,126,102,230,254,230,230,0:REM A
5140 DATA252,236,236,254,230,230,254,0:REM B
5150 DATA254,206,206,192,198,198,254,0:REM C
5160 DATA252,230,230,230,230,230,252,0:REM D
5170 DATA254,192,192,254,224,224,254,0:REM E
5180 DATA254,224,224,126,96,96,96,0 :REM F
5190 DATA254,238,224,238,230,230,254,0:REM G
5200 DATA198,198,198,254,230,230,230,0:REM H
5210 DATA24,24,24,24,28,28,28,0 :REM I
5220 DATA252,12,12,12,206,206,254,0 :REM J
5230 DATA102,108,120,112,248,236,230,0:REM K
5240 DATA96,96,96,224,224,224,254,0 :REM L
5250 DATA198,238,214,206,206,206,206,0:REM M
5260 DATA230,246,246,254,222,206,206,0:REM N
5270 DATA254,198,198,206,206,206,254,0:REM O
5280 DATA254,198,198,254,224,224,224,0:REM P
5290 DATA254,198,198,206,206,206,254,7:REM Q
5300 DATA252,204,204,254,206,206,206,0:REM R
5310 DATA254,198,192,254,6,230,254,0 :REM S
5320 DATA254,48,48,56,56,56,56,0 :REM T
5330 DATA198,198,198,206,206,206,254,0:REM U
5340 DATA206,206,206,206,252,120,48,0 :REM V
5350 DATA206,206,206,206,214,238,198,0:REM W
5360 DATA198,238,124,16,124,238,198,0 :REM X
5370 DATA206,206,206,56,56,56,56,0 :REM Y
5380 DATA254,14,14,48,48,240,254,0 :REM Z
5390 DATA126,102,102,230,230,230,254,0:REM 0
5400 DATA120,24,24,56,56,56,56,0 :REM 1
5410 DATA254,198,6,254,224,224,254,0 :REM 2
5420 DATA254,198,6,30,6,198,254,0 :REM 3
5430 DATA192,192,204,204,254,28,28,0 :REM 4
5440 DATA254,192,192,254,14,206,254,0 :REM 5
5450 DATA252,204,192,254,230,230,254,0:REM 6
5460 DATA254,198,12,24,56,56,56,0 :REM 7
5470 DATA126,102,102,254,230,230,254,0:REM 8
5480 DATA254,230,230,254,14,28,56,0 :REM 9
5490 :
5500 REM --- MELODIEDATEN ---
5510 DATA52,39,1,46,118,1,43,219,2,43,219,1,39,18,1,34,207,2,34,207,1,32,219
5520 DATA1,29,69,2,27,160,2,29,69,2,46,118,1,43,219,1,39,18,2,39,18,1
5530 DATA34,207,1,32,219,2,32,219,1,29,69,1,26,20,2,24,157,2,26,20,2,43,219,1
5540 DATA39,18,1,34,207,2,34,207,1,32,219,1,29,69,2,29,69,1,26,20,1
5550 DATA23,59,2,21,237,2,23,59,2,39,18,1,34,207,1,32,219,1,34,207,1,39,18,1
5560 DATA43,219,1,46,118,1,52,39,1,58,138,1,65,181,1,69,157,8
5570 DATA15,129,4,19,137,3,15,129,1,23,59,8,17,103,4,20,178,3,17,103,1,26,20,8
5580 DATA20,178,4,26,20,3,20,178,1,31,3,4,20,178,4,23,59,4,23,59,4,15,129,5
5590 DATA39,18,1,32,219,1,26,20,2,26,20,2,26,20,2,29,69,2,34,207,2,34,207,1
5600 DATA29,69,1,24,157,2,24,157,2,24,157,2,26,20,2,39,18,2,39,18,1,32,219,1
5610 DATA26,20,2,26,20,2,26,20,2,26,69,2,34,207,2,34,207,1,29,69,1,24,157,2
5620 DATA24,157,2,24,157,2,26,20,4
5630 :
5640 REM --- DATEN FUER MASCHINENSPRACHEPROGRAMM 2 ---
5650 DATA32,138,173,32,247,183,164,20,140,232,3,164,21,140,233,3,160,0,166
5660 DATA20,224,0,240,90,202,134,20,200,192,4,240,102,32,142,192,76,27,192
5670 DATA200,32,68,192,200,192,7,240,91,32,142,192,76,42,192,200,32,68,192
5680 DATA200,192,10,240,98,32,142,192,76,57,192,166,20,24,138,105,38,170,134
5690 DATA20,176,47,32,183,192,152,72,166,21,224,216,176,64,185,69,3,160,0,145
5700 DATA20,104,168,96,162,0,134,20,166,21,232,134,21,166,20,76,149,192,166
5710 DATA21,202,134,21,162,255,134,20,76,27,192,166,21,232,134,21,76,79,192
5720 DATA136,76,38,192,136,76,53,192,166,20,224,255,232,240,207,134,20,76,79
5730 DATA192,185,81,3,76,93,192,166,21,224,216,144,1,96,24,173,233,3,105,212
5740 DATA133,21,173,232,3,133,20,76,16,192,166,21,224,216,176,39,185,91,3,153
5750 DATA69,3,185,101,3,153,81,3,152,170,160,0,177,20,72,138,168,104,170,224
5760 DATA192,240,13,224,64,240,31,224,224,240,49,224,160,240,62,96,173,103
5770 DATA3,153,81,3,185,91,3,170,224,0,208,241,169,224,153,69,3,76,228,192
5780 DATA185,91,3,170,224,0,208,225,169,64,153,69,3,173,110,3,153,81,3,76,228
5790 DATA192,185,91,3,170,224,64,208,203,173,110,3,153,81,3,76,228,192,185,91
5800 DATA3,170,224,64,208,10,173,105,3,153,81,3,185,91,3,170,224,0,208,172
5810 DATA169,128,153,69,3,173,110,3,153,81,3,76,228,192,76,231,192
5820 :
5830 DATA64,96,192,160,160,224,160,160,0
5840 :
5850 DATAKV,DR,KR,KH,DL,KL