basiert auf [a17f8e1f56553b8caa8e3b1648927eee]
Zeichensatz UTF-8+Z1013()+CTRL()-ohne Umlaute(äöüß)
1 B=H.(EC00)
10 REM OTHELLO
22 OUT(1)=207;OUT(1)=0
30 A=H.(ECA6)
40 G.5000
100 G.4000
1000 REM DREHVARIANTE SUCHEN
1010 D=A;U=0;W=0
1030 F.Y=0TO(@(150)-1)*64STEP64
1040 F.X=DTOD+(@(151)-1)*2STEP2
1050 B=X+Y;V=PEEK(B);U=U+1
1060 IFV#46G.1090
1070 C=@(U)*10;S=1
1080 GOS.1380
1090 N.X
1130 OUTC.12;P.
1135 F.I=1TORND(5);P.;N.I
1140 P." ICH DENKE (",
1142 P.#1,Y/64+1,")"
1160 N.Y
1170 OUTC.12
1180 Q=0;IFW=0Q=1;RETURN
1190 X=N-(A-1)
1200 Y=M/80+2
1210 RETURN
1220 REM AUSWERTUNG
1225 OUTC.12
1230 OUTC.12;P.;P."AUSWERTUNG"
1235 OUT(0)=1;OUT(0)=0
1240 M=0;N=0
1250 F.I=0TO(@(151)-1)*2STEP2
1260 F.J=0TO(@(150)-1)*64STEP64
1270 IFPEEK(J+I+A)=42M=M+1
1280 IFPEEK(J+I+A)=48N=N+1
1290 N.J
1300 N.I
1310 P."* =",#2,M
1320 P."0 =",#2,N;P.
1322 IFM<NP."GRATULIERE !"
1324 IFM=NP."REMIS !"
1326 IFM>NP."ICH HABE GEWONNEN !"
1330 P." >ENT<",;O=INC.
1340 OUTC.12;P.;P.;P."NEUES SPIEL ? (J)/N :",
1350 O=INC.
1355 PO.H.(1B),0;PO.H.(1C),H.(EC);PO.H.(1D),0;PO.H.(1E),H.(F0)
1360 CALLH.(F6D1)
1375 IFO='N'OUTC.12;P.;P.
1376 IFO='N'ST.
1378 G.5000
1380 REM
1390 F=0;G=42;T=Z
1400 IFZ=1G=48
1410 F.K=1TO10
1420 R=0
1430 F.I=1TO10
1440 H=B+@(100+K)*I
1450 IFH<AG.1540
1460 IFH>A+(@(151)-1)*2+(@(150)-1)*64G.1540
1470 V=PEEK(H)
1480 IFV=46G.1540
1490 IFV=GR=1
1500 IFV=48-Z*6R=(R+1)*R
1510 IFR=2G.1580
1520 IFR=0G.1540
1530 N.I
1540 N.K
1550 IFS=1RETURN
1560 Q=0;IFF=0Q=1
1570 RETURN
1580 REM DREHEN
1590 F=1
1600 IFS=1G.1670
1610 IFT=0T=2;GOS.1730
1620 F.L=1TO10
1630 P=B+@(100+K)*L
1640 IFPEEK(P)#GG.1540
1650 POKEP,48-6*Z
1660 N.L
1670 REM BEWERTUNG
1680 C=C+I
1690 IFC<WG.1540
1700 REM ANZ. VARIANTE
1710 N=X;M=Y;W=C;C=0
1720 G.1540
1730 F.I=1TO10;F.E=1TO200;N.E;PO.B,46;F.E=1TO200;N.E;POKEB,48
1735 N.I;RETURN
4000 @(101)=64;@(102)=-64;@(103)=2;@(104)=-2
4002 @(105)=66;@(106)=-66;@(107)=-62;@(108)=62
4020 @(1)=9;@(2)=1;@(3)=8;@(4)=4;@(5)=4;@(6)=8;@(7)=1;@(8)=9
4030 @(9)=1;@(10)=1;@(11)=2;@(12)=2;@(13)=2;@(14)=2;@(15)=1
4032 @(16)=1
4040 @(17)=8;@(18)=2;@(19)=7;@(20)=6;@(21)=6;@(22)=7;@(23)=2
4042 @(24)=8
4050 @(25)=4;@(26)=2;@(27)=6;@(28)=0;@(29)=0;@(30)=6;@(31)=2
4052 @(32)=4
4060 F.I=1TO32
4065 @(65-I)=@(I)
4070 N.I
4075 G.4110
4080 F.I=1TO8
4085 F.W=1TO8
4087 P.#3,@((I-1)*8+W),
4088 N.W
4089 P.
4090 N.I
4110 OUTC.12
4111 G.4341
4115 P.
4120 P." O T H E L L O"
4130 P.
4160 P." 1 2 3 4 5 6 7 8"
4165 P.
4170 P." 1 . . . . . . . . 1"
4175 P.
4180 P." 2 . . . . . . . . 2"
4185 P.
4190 P." 3 . . . . . . . . 3"
4195 P.
4210 P." 4 . . . * * . . . 4"
4215 P.
4220 P." 5 . . . 0 0 . . . 5 SIE"
4225 P.
4230 P." 6 . . . . . . . . 6 SPIELEN"
4235 P.
4240 P." 7 . . . . . . . . 7 MIT 0"
4245 P.
4250 P." 8 . . . . . . . . 8"
4255 P.
4260 P." 1 2 3 4 5 6 7 8"
4270 PO.H.(1B),H.(C0);PO.H.(1C),H.(EE);PO.H.(1D),0
4280 PO.H.(1E),H.(F0)
4285 PO.H.(1B),H.(40);PO.H.(1C),H.(EF)
4290 CALLH.(F6D1)
4340 RETURN
4341 REM
4348 P.;P.;P.
4350 INPUT"SCHWIERIGKEIT ? (1/2)"C
4360 OUT(0)=1;OUT(0)=0
4370 IFC=1F.I=1TO64;@(I)=1;N.I
4380 OUTC.12;P.;P.;P.
4390 P."MOECHTEN SIE BEGINNEN ? (J)/N :",
4400 O=INC.;IFO='N'G.4420
4405 OUT(0)=1;OUT(0)=0
4410 G.4540
4420 REM RECHNER AM ZUG
4425 OUT(0)=1;OUT(0)=0
4460 Z=1;GOS.1000;IFQ=1G.1230
4470 B=N+M
4475 OUT(0)=1;F.I=1TO100;N.I;OUT(0)=0
4480 F.I=1TO10;PO.B,46;F.O=1TO200;N.O;PO.B,42;F.O=1TO200;N.O
4485 N.I
4490 S=0;GOS.1380
4500 REM SPIELER AM ZUG
4540 Z=0;S=0
4560 OUTC.12
4570 P.;P."KOENNEN SIE";P.
4575 P."SETZEN ? (JA=ENT;NEIN=SPACE):",
4590 O=INC.;IFO=32OUTC.O;F.I=0TO300;N.I;G.1230
4592 OUT(0)=1;OUT(0)=0
4595 OUT(0)=1;OUT(0)=0
4600 OUTC.12
4620 P.;P."IHR ZUG BITTE";P.
4630 P."ZEILE :",
4640 Y=INC.;Y=Y-24;OUTC.Y
4650 Y=Y-48
4655 OUT(0)=1;OUT(0)=0
4660 IFY>=0IFY<@(150)G.4670
4662 OUT(0)=1;F.I=1TO300;N.I;OUT(0)=0;G.4600
4670 P.;P."SPALTE:",
4680 X=INC.;X=X-24;OUTC.X
4690 X=X-48
4695 OUT(0)=1;OUT(0)=0
4700 IFX>=0IFX<@(151)G.4710
4705 G.4670
4710 X=X+1;Y=Y+1;B=2*X+64*(Y-1)+A
4715 B=B-2
4720 C=PEEK(B)
4730 IFC#46P.;P."BESETZT";F.I=1TO1000;N.I;G.4500
4740 POKEB,48-6*Z
4750 GOS.1380
4760 IFQ=1P.;P."FEHLER";GOS.1730;GOS.1730;POKEB,46;G.4500
4770 G.4420
5000 REM SPIELFELDGROESSE
5010 OUTC.12;P.;P.
5020 P."FESTLEGUNG FORM UND GROESSE";P.
5030 P."DES SPIELFELDS"
5040 P.;P.;P.
5050 P."RECHTECK...........1";P.
5060 P."QUADRAT............2";P.
5070 P.;INPUT"KENNZIFFER"A
5080 OUTC.12;P.;P.
5090 IFA=1G.5120
5100 P."SEITENLAENGE ? (4/6/8/10)",;INP.""B
5105 @(150)=B;@(151)=B
5106 IFB>10G.5100
5107 IFB<4G.5100
5108 IFB/2#(B+1)/2G.5100
5110 G.5200
5120 INP."EINGABE HOEHE (4/6/8/10)"@(150)
5122 IF@(150)>10G.5120
5123 IF@(150)<4G.5120
5124 IF@(150)/2#(@(150)+1)/2G.5120
5130 P.;INP."EINGABE BREITE (4/6/8/10)"@(151)
5135 IF@(151)>10G.5130
5136 IF@(151)<4G.5130
5137 IF@(151)/2#(@(151)+1)/2G.5130
5200 OUTC.12;IF@(150)<9P.;P.
5300 P." O T H E L L O"
5310 P.;P.
5315 TAB(5)
5320 F.I=1TO@(151)
5325 P." ",
5335 P.#1,I-1,
5340 N.I
5350 P.;P.
5360 F.I=1TO@(150)
5370 TAB(2)
5380 P.#2,I-1,
5385 P." ",
5390 F.J=1TO@(151)
5392 OUTC.46;P." ",;N.J
5395 P." ",
5403 P.#1,I-1;P.
5410 N.I
5420 TAB(5)
5430 F.I=1TO@(151);P." ",
5440 P.#1,I-1,;N.I
5500 B=H.(ECE6)
5505 IF@(150)>=9B=B-64
5506 A=B
5510 U=(@(151)/2)*2+((@(150)/2)*2)*32
5520 U=U+B
5522 PO.U,42
5525 PO.U-2,42
5530 PO.U-64,48;PO.U-66,48
5600 GOS.4270
6000 G.4000