home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 20
/
Tiger_Disk_020_19xx_Tiger-Crew-Disk_de_Side_C.d64
/
maxit!
(
.txt
)
< prev
Wrap
Commodore BASIC
|
2023-02-26
|
4KB
|
156 lines
10 poke53280,6:poke53281,6:poke646,7
100 rem m a x i t
200 rem by harry j. saal
300 goto 800
400 gosub 10200:md=1:for i=0 to sz:for j=0 to sz
500 gosub 5200:next j,i:gosub 11200
600 if pl=1 then 4100
700 goto 4400
800 poke 53272,23:gosub 14600
900 dim av(64):sz=7:nq=(sz+1)*(sz+1)
1000 print"[147]":printtab(17);"[205][193][216][201][212]!"
1200 pt$="[215][213][197][206][211][195][200][211][212][160][196][213][160]'[206][197][160][197][210][203][204][193][197][210][213][206][199]":gosub 9900
1300 if"j"=left$(a1$,1)then gosub12900
1400 pt$="1 [207][196][197][210] 2 [211][208][201][197][204][197][210]":gosub 9900
1500 np=val(a1$)
1600 if np=1 then2000
1700 if np<>2 then 1400
1800 pt$="[215][201][197][160][200][197][201][211][211][212][160][196][197][210][160]1. [211][208][201][197][204][197][210]":gosub9900:gosub20000:p1$=""+a1$+"[146]"
1900 pt$="[215][201][197][160][200][197][201][211][211][212][160][196][197][210][160]2. [211][208][201][197][204][197][210]":gosub9900:gosub20000:p2$=""+a1$+"[146]":goto2100
2000 p2$="c64[146]":pt$="[215][201][197][160][200][197][201][211][211][212][160][196][213]":gosub9900:gosub20000:p1$=""+a1$+"[146]"
2100 gosub 10200
2200 rem make board
2300 i=rnd(-ti):md=1
2400 for k=1tonq:av(k)=k:next
2500 for k=nqto1 step -1
2600 read pc
2700 p1=o+int(k*rnd(o))
2800 j=av(p1)-o
2900 if p1<k then for a3=p1 to k-o:av(a3)=av(a3+o):next
3000 i=int(j/(sz+o)):j=j-(sz+o)*i
3100 bd(i,j)=pc:gosub 5200
3200 next k:restore
3300 data 15,10,9,9,8,8,7,7,7,6,6,6
3400 data 5,5,5,5,4,4,4,4,3,3,3,3,3
3500 data 2,2,2,2,2,2,1,1,1,1,1
3600 data 0,0,0,0,0,0,-1,-1,-1,-1,-1
3700 data -2,-2,-2,-2,-3,-3,-3
3800 data -4,-4,-4,-5,-5,-6,-6
3900 data -7,-9,100
4000 s1=0:s2=0:gosub 11200
4100 rem player 1
4200 pl=1:gosub 6100:if fl=0 then 4500
4300 rem player 2
4400 pl=2:gosub 6100:if fl<>0 then 4100
4500 on 2+sgn(s2-s1) gosub 4900,5000,5100
4600 input"noch ein spiel";c$
4700 if "j"=left$(c$,1) then 2100
4800 end
4900 printp1$;" gewann! ";str$(s1-s2);" punkte!":return
5000 print"gleichstand!!! ":return
5100 print" es gewann ";p2$;" ! ";str$(s2-s1);" punkte!":return
5200 rem draw board pos i,j in mode md (1=normal,2=reverse)
5300 pc=bd(i,j)
5400 d$=left$("",o+i)
5500 r$=left$("",o+j)
5600 print"";d$;d$;tab(5);r$;r$;r$;
5700 if md=2 then print"";
5800 if pc=oh then print"**":c1=i:c2=j:return
5900 if pc=mh then print" ":return
6000 printright$(" "+str$(pc),2):return
6100 if pl=2 then 6500
6200 fl=600:for j=0tosz:fl=fl+bd(c1,j):next
6300 if fl=0 then return
6400 nm$=p1$:dx=1:dy=0:gosub6800:return
6500 fl=600:for i=0tosz:fl=fl+bd(i,c2):next
6600 if fl=0 then return
6700 nm$=p2$:dx=0:dy=1:gosub6800:return
6800 y=c1:x=c2:fx=1:for i=1to9:get a1$:next
6900 if np=2 or pl=1 then 7100
7000 gosub 9800:print"";nm$;"'s zug...... ":gosub 11400:goto9000
7100 gosub 9800:on fx goto 7200,7300
7200 print"";nm$;", dein zug. ":print"[145]";:goto 7400
7300 print" ":print"[145]";
7400 tn=ti+30
7500 getc$:if c$<>"" then 7800
7600 if ti<tn then 7500
7700 fx=3-fx:goto 7100
7800 if c$<>" " then 8800
7900 ox=x:oy=y
8000 y=y+dy: if y>sz then y=0
8100 x=x+dx: if x>sz then x=0
8200 pt=bd(y,x): if abs(pt)=100 then 8000
8300 md=1:i=oy:j=ox:gosub 5200
8400 md=2:i= y:j= x:gosub 5200
8500 for i=1to9:get a1$:next
8700 goto 7500
8800 if c$<>chr$(13) then7500
8900 if abs(bd(y,x))=100 then 7500
9000 rem score it
9100 md=1:i=c1:j=c2:bd(i,j)=-100:gosub 5200
9200 i=y:j=x:pt=bd(i,j):bd(i,j)=100:gosub 5200
9300 if pl=1 then s1=s1+pt
9400 if pl=2 then s2=s2+pt
9500 gosub 9800
9600 print"";tab(24);"wert: [157][157][157]";pt;
9700 gosub 11200:return
9800 print"":return
9900 printpt$;:input"[160][160][160][157][157][157]";a1$
10000 if a1$="[160]" then 9900
10100 return
10200 poke 53272,21
10300 print"[147]";tab(17);"[175][175][175][175][175][175]"
10301 printtab(17);"maxit!"
10400 printtab(7);"[176]";:for i=1tosz:print"[192][192][178]";:next:print"[192][192][174]"
10500 for j=1tosz
10600 printtab(7);:for i=0tosz:print"[221] ";:next:print"[221]"
10700 printtab(7);"[171]";:for i=1tosz:print"[192][192][219]";:next:print"[192][192][179]"
10800 next j
10900 printtab(7);:for i=0tosz:print"[221] ";:next:print"[221]"
11000 printtab(7);"[173]";:for i=1tosz:print"[192][192][177]";:next:print"[192][192][189]"
11100 return
11200 gosub 9800
11300 printp1$"'s stand:"str$(s1)" / "p2$"'s stand:"str$(s2)" ":print:return
11400 mt=mh:gg=-1:for a1=ztosz:pc=bd(a1,c2):if abs(pc)=oh then12800
11500 mx=mh:for a2=ztosz
11600 if a2<>c2 thenpk=bd(a1,a2):if pk<>mh and pk>mx then mx=pk:sv=a2
11700 next a2
11800 if mx<>mh then 12000
11900 if pc>mt then mt=pc:gg=a1:goto 12800
12000 if gg<z then gg=a1
12100 for a2=ztosz:pq=bd(a2,sv):if pq=mh or a2=a1 then 12700
12200 my=mh:for a3=ztosz:pw=bd(a2,a3):if a3=sv then 12400
12300 if abs(pw)<>oh and pw>my then my=pw
12400 next a3
12500 if my=mh then my=z
12600 dt=pc-mx+pq-my:if dt>mt then mt=dt:gg=a1
12700 next a2
12800 next a1:y=gg:return
12900 print"[147][196][197][210][160][211][201][206][206][160][214][207][206] [205][193][216][201][212] [201][211][212], [211][207][160][214][201][197][204][197]"
13000 print"[208][213][206][203][212][197][160][215][201][197][160][205][207][197][199][204][201][195][200][160][214][207][206][160][197][201][206][197][205] 8 [216] 8-"
13100 print"[194][210][197][212][212] [205][201][212][160][215][197][210][212][197][206][160][218][213][160][197][210][200][193][204][212][197][206]. [196][213][160][203][193][206][206][211][212]"
13200 print"[199][197][199][197][206][160][197][201][206][197][206][160][208][193][210][212][206][197][210][160][207][196][197][210][160][199][197][199][197][206] [196][197][206] [195]64"
13300 print"[211][208][201][197][204][197][206].[208][213][206][203][212][197][160][194][197][203][207][205][205][211][212] [196][213],[215][197][206][206] -**[146]-"
13400 print"[214][207][206][160][196][201][210][160][218][213][160][197][201][206][197][205][160][206][213][205][205][197][210][206][198][197][204][196][160][194][197][215][197][199][212]"
13500 print"[215][201][210][196]. [196][197][210] 1. [211][208][201][197][204][197][210][160][194][197][215][197][199][212][160][211][201][195][200] [209][213][197][210],"
13600 print"[196][197][210] 2. [211][208][201][197][204][197][210][160][206][213][210] [204][193][197][206][199][211]. [196][213][160][211][213][195][200][211][212]"
13700 print"[196][197][206][160][208][204][193][212][218], [218][213][160][196][197][205][160][196][213][160][215][201][204][204][211][212], [205][201][212][160][196][197][210]"
13800 print" '[211][208][193][195][197]'-[212][193][211][212][197] [193][213][211]. [206][193][195][200][160][202][197][196][197][205][160][196][210][213][195][203]"
13900 print"[204][197][213][195][200][212][197][212][160][196][193][211][160][206][193][197][195][200][211][212][197][160][198][197][204][196][160][193][213][198]."
14000 print"[196][213][160][203][193][206][206][211][212][160][196][201][197][160][212][193][211][212][197][160][193][213][195][200][160][198][197][211][212][200][193][204][212][197][206],"
14100 print"[194][201][211][160][196][193][211][160][199][197][215][193][197][200][204][212][197][160][198][197][204][196][160][204][197][213][195][200][212][197][212]."
14200 print"[215][197][206][206][160][196][213][160][196][197][201][206][160][199][197][215][193][197][200][204][212][197][211][212][160][198][197][204][196]"
14300 print"[197][210][210][197][201][195][200][212][160][200][193][211][212], [196][210][213][197][195][203] '[210][197][212][213][210][206]'."
14400 print"[196][213][160][197][210][200][193][197][204][212][211][212][160][196][193][206][206][160][196][201][197][160][208][213][206][203][212][197][160][196][201][197][211][197][211]"
14500 print"[198][197][204][196][197][211] ('+' oder '-').":return
14600 rem define vars
14700 dim bd(7,7)
14800 oh=100:mh=-100
14900 a3=0:a2=0:pw=0:sv=0:my=0
15000 pq=0:gg=0:mt=0:mx=0:dt=0
15100 pc=0:pk=0:a1=0:c2=0
15200 z=0:o=1:return
20000 iflen(a1$)>6thenprint"[200][207][197][195][200][211][212][197][206][211] 6 [194][213][195][200][211][212][193][194][197][206] ![145][145][145][145]":gosub9900
20010 return
0