home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh1x
/
sh17a.d64
/
quadrix
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
3KB
|
140 lines
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]