100 REM QUADRIX, EIN DENKSPIEL VON 105 REM 110 REM WALTER TRUMP 115 REM REICHELSDORFER SCHULGASSE 18 120 REM 8500 NUERNBERG 60 125 : 150 REM INITIALISIEREN 155 : 160 POKE 53280,0:POKE 53281,0 165 DIM F(5,5),C$(5,5),Q$(25),A$(5),B$(5) 170 Z=RND(-TI):DEF FNR(X)=INT(RND(1)*2)*2+X 175 U$=" QUADRIX " 180 R$="[157][145][152][176][192][192][192][174][157][157][157][157][157][221][157][221][157][221][157][173][192][192][192][189][145][157][221][157][145][221][157][145][221]" 185 L$="[157][145][160][160][160][160][160][157][157][157][157][157] [157] [157] [157] [157][145] [157][145] [157][145] " 190 FA$="[158][156]":C$(0,0)="" 195 : 200 FOR Y=1 TO 5:C$(0,Y)=C$(0,Y-1)+"" 205 FOR X=1 TO 5:C$(X,Y)=C$(X-1,Y)+"" 210 Z=5*Y-5+X:F(X,Y)=Z 215 Q$(Z)=MID$(FA$,Y,1)+" [157][157][157] "+CHR$(Z+64)+" [157][157][157] " 220 NEXT X,Y 225 : 230 A$(0)="SCHADE":B$(0)="ANFAENGER" 235 A$(1)="NICHT SCHLECHT":B$(1)="AMATEUR" 240 A$(2)="PRIMA":B$(2)="MEISTER" 245 A$(3)="AUSGEZEICHNET":B$(3)="PROFI" 250 A$(5)="UNGLAUBLICH":B$(5)="GENIE" 255 : 260 GOSUB 660 265 : 300 REM TASTATURABFRAGE 305 : 310 PRINT C$(V,W) R$ 315 PRINT U$ MID$(TI$,1,2)"H "MID$(TI$,3,2)"M "MID$(TI$,5,2)"S" 320 GET G$:IF G$="" THEN 315 325 IF G$="X" THEN D=-1:GOSUB 410 330 IF G$="Z" THEN D=+1:GOSUB 410 335 IF G$="" THEN PRINT C$(V,W) L$:W=(WAND2)+2 340 IF G$="" THEN PRINT C$(V,W) L$:V=(VAND2)+2 345 IF G$="R" THEN GOSUB 910:GOSUB 610 350 IF G$="M" THEN GOSUB 460 355 IF G$="A" THEN GOSUB 510 360 IF G$="S" THEN GOSUB 710 365 IF G$="L" THEN GOSUB 760 370 IF G$="E" THEN GOSUB 910:END 375 GOTO 310 380 : 400 REM DREHEN 405 : 410 Z=F(V-1,W-1):F(V-1,W-1)=F(V+D,W-D):F(V+D,W-D)=F(V+1,W+1) 415 F(V+1,W+1)=F(V-D,W+D):F(V-D,W+D)=Z 420 Z=F(V,W-1):F(V,W-1)=F(V+D,W):F(V+D,W)=F(V,W+1) 425 F(V,W+1)=F(V-D,W):F(V-D,W)=Z 430 FOR Y=W-1 TO W+1:FOR X=V-1 TO V+1 435 PRINT C$(X,Y) Q$(F(X,Y)):NEXT X,Y 440 DR=DR+1:RETURN 445 : 450 REM MISCHEN 455 : 460 MI=1:FOR N=1 TO 20 465 PRINT C$(V,W) L$ 470 V=FNR(2):W=FNR(2):D=FNR(-1) 475 PRINT C$(V,W) R$:GOSUB 410:NEXT 480 TI$="000000":DR=0:RETURN 485 : 500 REM ANLEITUNG 505 : 510 PRINT"[147]QUADRIX - ANLEITUNG 515 [153]"DEFDIE 25 KLEINEN FARBIGEN QUADRATE SOLLEN 520 PRINT"NACH DEM MISCHEN WIEDER AN IHRE UR- 525 [153]"SPRUENGLICHE POSITION GEBRACHT WERDEN. 530 PRINT"HIERZU KANN JEWEILS EINE GRUPPE VON 535 [153]"3X3 QUADRATEN UM IHR EINGERAHMTES 540 PRINT"MITTELQUADRAT GEDREHT WERDEN. 545 [153]"M...MISCHEN UND UHR ZURUECKSTELLEN 550 PRINT"R...RESULTAT ANZEIGEN 555 [153]"S...SPEICHERN DES SPIELSTANDES AUF DISK 560 PRINT"L...LADEN DES LETZTEN SPIELES VON DISK 565 [153]"DEFAENDERUNG DES DREHPUNKTES:(OHNE SHIFT) 570 PRINT"LINKE CURSORTASTE...HOCH-TIEF 575 [153]"RECHTE CURSORTASTE...LINKS-RECHTS 580 PRINT"[150]DREHUNG AUSFUEHREN:(JEWEILS 90 GRAD) 585 [153]"Z...GEGEN DEN UHRZEIGERSINN 590 PRINT"X...IM UHRZEIGERSINN 595 : 600 [143] AUF TASTE WARTEN 605 : 610 [153]"SYSBITTE DRUECKEN SIE EINE TASTE !"; 615 [161] G$:[139] G$[178]"" [167] 615 620 : 650 [143] ZEICHNEN 655 : 660 [153]"LOAD"[163]10)"LISTA=ANLEITUNG E=ENDE 665 FOR Y=1 TO 5:FOR X=1 TO 5 670 PRINT C$(X,Y) Q$(F(X,Y)) 675 NEXT X,Y:V=2:W=2:RETURN 680 : 700 REM SPEICHERN 705 : 710 OPEN 1,8,1,"@:-QUADRIX-DATEN" 715 PRINT#1,"Q"; 720 FOR Y=1 TO 5:FOR X=1 TO 5 725 PRINT#1,F(X,Y):NEXT X,Y 730 PRINT#1,TI$:PRINT#1,DR:PRINT#1,MI 735 CLOSE 1 740 GOTO 810 745 : 750 REM LADEN 755 : 760 OPEN 1,8,0,"-QUADRIX-DATEN" 765 GET#1,G$:IF G$<>"Q" THEN 785 770 FOR Y=1 TO 5:FOR X=1 TO 5 775 INPUT#1,F(X,Y):NEXT X,Y 780 INPUT#1,TI$:INPUT#1,DR:INPUT#1,MI 785 CLOSE 1 790 GOTO 810 795 : 800 REM FEHLER-KANAL 805 : 810 OPEN 2,8,15:INPUT#2,Z,Z$:CLOSE 2 815 IF Z=0 THEN 660 820 PRINT"[147]"Z$:GOTO 610 825 : 900 REM RESULTAT 905 : 910 PRINT"[147] QUADRIX - RESULTAT: 915 [139] MI[178]0 [167] [153]" ERST MISCHEN!":[137] 975 920 Q[178]0:R[178]0:[129] Y[178]1 [164] 5:Z[178]0:[129] X[178]1 [164] 5 925 [139] F(X,Y)[178]5[172]Y[170]X[171]5 [167] Q[178]Q[170]1:Z[178]Z[170]1 930 [130] X:R[178]R[170][181](Z[173]5):[130] Y 935 [153]"DEF "A$(R)"!" 940 [153]" SIE SIND EIN QUADRIX-"B$(R)"." 945 [153]" SIE HABEN"R"REIHE"[199]([171]78[172](R[179][177]1))" WIEDERHERGESTELLT. 950 PRINT" INSGESAMT SIND"Q"QUADRATE RICHTIG. 955 [153]" FUER DIESE LEISTUNG BENOETIGTEN SIE 960 PRINT""DR"DREHUNGEN UND EINE ZEIT VON 965 [153]" "[202](TI$,1,2)" STUNDEN "[202](TI$,3,2); 970 [153]" MINUTEN "[202](TI$,5,2)" SEKUNDEN." 975 [142]