48 STEINE WERDEN AUF DIE BEIDEN ÄUSSEREN FELDER EINES
DAMEBRETTES GELEGT.
ZIEL IST ES, DURCH DIAGONALES SPRINGEN SOVIEL STEINE WIE
MÖGLICH ZU ENTFERNEN. BEI DER EINGABE DER ZÜGE GIBST
DU AN, VON WO DU WOHIN SPRINGEN WILLST.
SIND KEINE SPRUENGE MEHR MÖGLICH, GIB EINE -NULL- EIN.
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
1 WINDOW: CLS
2 PRINT:PRINT "EINE DAME":PRINT:PRINT
8 DIM A (64)
10 PRINT
15 PRINT
20 PRINT "48 STEINE WERDEN AUF DIE BEIDEN"
22 PRINT "AEUSSEREN FELDER EINES DAME-"
25 PRINT "BRETTES GELEGT."
26 PRINT "ZIEL IST ES,DURCH DIAGONALES "
30 PRINT "SPRINGEN SOVIEL STEINE WIE MOEG-LICH ZU ENTFERNEN."
35 PRINT "BEI DER EINGABE DER ZUEGE GIBST DU AN, VON WO DU WOHIN SPRINGEN"
40 PRINT "WILLST."
45 PRINT:PRINT "SIND KEINE SPRUENGE MEHR MOEGLICH, GIB EINE -NULL- EIN."
50 PRINT AT(25,20);" <ENTER>
51 T$=INKEY$
52 IF INKEY$<>CHR$(13)THEN 50
53 CLS
65!***SPIELBRETT***
67 GOSUB 1000
79!***STEINE***
80 FOR J=1 TO 64
82 A (J)=1
84 NEXT J
86 FOR J=19 TO 43 STEP 8
88 FOR I=J TO J+3
90 A (I)=0
92 NEXT I
94 NEXT J
96 M=0
98 GOTO 340
99 WINDOW 27,31,0,31
100 INPUT "SPRUNG VON";F :PAUSE 5
105 IF F=0 THEN 500
110 INPUT "NACH";T :PAUSE 5
118!***UEBERPRUEFE GUELTIGKEIT DES ZUGES**
120 F1=INT((F-1)/8)
130 F2=F-8*F1
140 T1=INT((T-1)/8)
150 T2=T-8*T1
160 IF F1>7 THEN 230
170 IF T1 >7 THEN 230
180 IF F2 >8 THEN 230
190 IF T2>8 THEN 230
200 IF ABS(F1-T1)<>2 THEN 230
210 IF ABS(F2-T2)<>2 THEN 230
212 IF A((T+F)/2)=0 THEN 230
215 IF A(F)=0 THEN 230
220 IF A(T) =1 THEN 230
225 GOTO 250
230 PRINT "UNGUELTIGER ZUG, VERSUCHE NOCH MAL...":PAUSE 15:CLS
240 GOTO 99
245!*** ERNEUERE SPIELBRETT***
250 A(T)=1
260 A (F)=0
270 A((T+F)/2)=0
290 M=M+1
310!***DRUCKE SPIELBRETT***
320 WINDOW 0,26,0,31
340 FOR J=1 TO 57 STEP 8
345 PRINT :PRINT
350 FOR I=J TO J+7
360 PRINT TAB(5);A (I);
370 NEXT I
380 PRINT
390 NEXT J
395 GOSUB 1060
410 GOTO 99
450!***SPIELSCHLUSS***
500 S=0
510 FOR I=1 TO 64
520 S=S+A(I)
530 NEXT I
535 WINDOW 0,31,0,31:CLS
540 PRINT:PRINT:PRINT "DU BIST -";M;"- MAL GESPRUNGEN UND
541 PRINT:PRINT "HAST NOCH -";S;"- STEINE AUF DEM "
542 PRINT:PRINT "BRETT !!"
560 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:
561 PRINT:PRINT:PRINT:PRINT:PRINT
562 INPUT "VERSUCHST DU ES NOCH MAL ?";A$
570 IF A$="JA"THEN 53
575 IF A$="NEIN" THEN 600
595 GOTO 562
600 PRINT
610 PRINT "FEIN, HOFFE ES HAT DIR GEFALLEN"
999 END
1000 FOR J=5 TO 28:POKE(-5120+J),226:POKE(-5024+J),226:POKE(-4928+J),226
1010 POKE(-4832+J),226:POKE(-4736+J),226:POKE(-4640+J),226:POKE(-4544+J),226
1020 POKE(-4448+J),226:POKE(-4352+J),226:NEXT
1030 FOR I=1 TO 24:POKE(-5116+(32*I)),244:POKE(-5113+(32*I)),161
1040 POKE(-5110+(32*I)),161:POKE(-5107+(32*I)),161:POKE(-5104+(32*I)),161
1050 POKE(-5101+(32*I)),161:POKE(-5098+(32*I)),161:POKE(-5095+(32*I)),161
1055 POKE(-5092+(32*I)),192:NEXT
1056 RETURN
1060 PRINT AT(2,2);"1":PRINT AT(5,2);"9":PRINT AT(8,1);"17":PRINT AT(11,1);"25"
1070 PRINT AT(14,1);"33":PRINT AT(17,1);"41"
1080 PRINT AT(20,1);"49":PRINT AT(23,1);"57"
1090 PRINT AT(2,31);"8":PRINT AT(5,30);"16":PRINT AT(8,30);"24"
1100 PRINT AT(11,30);"32":PRINT AT(14,30);"40":PRINT AT(17,30);"48"
1110 PRINT AT(20,30);"56":PRINT AT(23,30);"64"
1120 RETURN
2000 PRINT