home *** CD-ROM | disk | FTP | other *** search
/ Tiger Disk 20 / Tiger_Disk_020_19xx_Tiger-Crew-Disk_de_Side_C.d64 / maxit! (.txt) < prev   
Commodore BASIC  |  2023-02-26  |  4KB  |  156 lines

  1. 10 poke53280,6:poke53281,6:poke646,7
  2. 100 rem    m a x i t
  3. 200 rem by harry j. saal
  4. 300 goto 800
  5. 400 gosub 10200:md=1:for i=0 to sz:for j=0 to sz
  6. 500 gosub 5200:next j,i:gosub 11200
  7. 600 if pl=1 then 4100
  8. 700 goto 4400
  9. 800 poke 53272,23:gosub 14600
  10. 900 dim av(64):sz=7:nq=(sz+1)*(sz+1)
  11. 1000 print"[147]":printtab(17);"[205][193][216][201][212]!"
  12. 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
  13. 1300 if"j"=left$(a1$,1)then gosub12900
  14. 1400 pt$="1 [207][196][197][210] 2 [211][208][201][197][204][197][210]":gosub 9900
  15. 1500 np=val(a1$)
  16. 1600 if np=1 then2000
  17. 1700 if np<>2 then 1400
  18. 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]"
  19. 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
  20. 2000 p2$="c64[146]":pt$="[215][201][197][160][200][197][201][211][211][212][160][196][213]":gosub9900:gosub20000:p1$=""+a1$+"[146]"
  21. 2100 gosub 10200
  22. 2200 rem make board
  23. 2300 i=rnd(-ti):md=1
  24. 2400 for k=1tonq:av(k)=k:next
  25. 2500 for k=nqto1 step -1
  26. 2600 read pc
  27. 2700 p1=o+int(k*rnd(o))
  28. 2800 j=av(p1)-o
  29. 2900 if p1<k then for a3=p1 to k-o:av(a3)=av(a3+o):next
  30. 3000 i=int(j/(sz+o)):j=j-(sz+o)*i
  31. 3100 bd(i,j)=pc:gosub 5200
  32. 3200 next k:restore
  33. 3300 data 15,10,9,9,8,8,7,7,7,6,6,6
  34. 3400 data 5,5,5,5,4,4,4,4,3,3,3,3,3
  35. 3500 data 2,2,2,2,2,2,1,1,1,1,1
  36. 3600 data 0,0,0,0,0,0,-1,-1,-1,-1,-1
  37. 3700 data -2,-2,-2,-2,-3,-3,-3
  38. 3800 data -4,-4,-4,-5,-5,-6,-6
  39. 3900 data -7,-9,100
  40. 4000 s1=0:s2=0:gosub 11200
  41. 4100 rem player 1
  42. 4200 pl=1:gosub 6100:if fl=0 then 4500
  43. 4300 rem player 2
  44. 4400 pl=2:gosub 6100:if fl<>0 then 4100
  45. 4500 on 2+sgn(s2-s1) gosub 4900,5000,5100
  46. 4600 input"noch ein spiel";c$
  47. 4700 if "j"=left$(c$,1) then 2100
  48. 4800 end
  49. 4900 printp1$;"  gewann!   ";str$(s1-s2);" punkte!":return
  50. 5000 print"gleichstand!!!           ":return
  51. 5100 print" es gewann ";p2$;" !   ";str$(s2-s1);" punkte!":return
  52. 5200 rem draw board pos i,j in mode md (1=normal,2=reverse)
  53. 5300 pc=bd(i,j)
  54. 5400 d$=left$("",o+i)
  55. 5500 r$=left$("",o+j)
  56. 5600 print"";d$;d$;tab(5);r$;r$;r$;
  57. 5700 if md=2 then print"";
  58. 5800 if pc=oh then print"**":c1=i:c2=j:return
  59. 5900 if pc=mh then print"  ":return
  60. 6000 printright$(" "+str$(pc),2):return
  61. 6100 if pl=2 then 6500
  62. 6200 fl=600:for j=0tosz:fl=fl+bd(c1,j):next
  63. 6300 if fl=0 then return
  64. 6400 nm$=p1$:dx=1:dy=0:gosub6800:return
  65. 6500 fl=600:for i=0tosz:fl=fl+bd(i,c2):next
  66. 6600 if fl=0 then return
  67. 6700 nm$=p2$:dx=0:dy=1:gosub6800:return
  68. 6800 y=c1:x=c2:fx=1:for i=1to9:get a1$:next
  69. 6900 if np=2 or pl=1 then 7100
  70. 7000 gosub 9800:print"";nm$;"'s zug......           ":gosub 11400:goto9000
  71. 7100 gosub 9800:on fx goto 7200,7300
  72. 7200 print"";nm$;", dein zug.                ":print"[145]";:goto 7400
  73. 7300 print"                               ":print"[145]";
  74. 7400 tn=ti+30
  75. 7500 getc$:if c$<>"" then 7800
  76. 7600 if ti<tn then 7500
  77. 7700 fx=3-fx:goto 7100
  78. 7800 if c$<>" " then 8800
  79. 7900 ox=x:oy=y
  80. 8000 y=y+dy: if y>sz then y=0
  81. 8100 x=x+dx: if x>sz then x=0
  82. 8200 pt=bd(y,x): if abs(pt)=100 then 8000
  83. 8300 md=1:i=oy:j=ox:gosub 5200
  84. 8400 md=2:i= y:j= x:gosub 5200
  85. 8500 for i=1to9:get a1$:next
  86. 8700 goto 7500
  87. 8800 if c$<>chr$(13) then7500
  88. 8900 if abs(bd(y,x))=100 then 7500
  89. 9000 rem score it
  90. 9100 md=1:i=c1:j=c2:bd(i,j)=-100:gosub 5200
  91. 9200 i=y:j=x:pt=bd(i,j):bd(i,j)=100:gosub 5200
  92. 9300 if pl=1 then s1=s1+pt
  93. 9400 if pl=2 then s2=s2+pt
  94. 9500 gosub 9800
  95. 9600 print"";tab(24);"wert:   [157][157][157]";pt;
  96. 9700 gosub 11200:return
  97. 9800 print"":return
  98. 9900 printpt$;:input"[160][160][160][157][157][157]";a1$
  99. 10000 if a1$="[160]" then 9900
  100. 10100 return
  101. 10200 poke 53272,21
  102. 10300 print"[147]";tab(17);"[175][175][175][175][175][175]"
  103. 10301 printtab(17);"maxit!"
  104. 10400 printtab(7);"[176]";:for i=1tosz:print"[192][192][178]";:next:print"[192][192][174]"
  105. 10500 for j=1tosz
  106. 10600 printtab(7);:for i=0tosz:print"[221]  ";:next:print"[221]"
  107. 10700 printtab(7);"[171]";:for i=1tosz:print"[192][192][219]";:next:print"[192][192][179]"
  108. 10800 next j
  109. 10900 printtab(7);:for i=0tosz:print"[221]  ";:next:print"[221]"
  110. 11000 printtab(7);"[173]";:for i=1tosz:print"[192][192][177]";:next:print"[192][192][189]"
  111. 11100 return
  112. 11200 gosub 9800
  113. 11300 printp1$"'s stand:"str$(s1)" / "p2$"'s stand:"str$(s2)"   ":print:return
  114. 11400 mt=mh:gg=-1:for a1=ztosz:pc=bd(a1,c2):if abs(pc)=oh then12800
  115. 11500 mx=mh:for a2=ztosz
  116. 11600 if a2<>c2 thenpk=bd(a1,a2):if pk<>mh and pk>mx then mx=pk:sv=a2
  117. 11700 next a2
  118. 11800 if mx<>mh then 12000
  119. 11900 if pc>mt then mt=pc:gg=a1:goto 12800
  120. 12000 if gg<z then gg=a1
  121. 12100 for a2=ztosz:pq=bd(a2,sv):if pq=mh or a2=a1 then 12700
  122. 12200 my=mh:for a3=ztosz:pw=bd(a2,a3):if a3=sv then 12400
  123. 12300 if abs(pw)<>oh and pw>my then my=pw
  124. 12400 next a3
  125. 12500 if my=mh then my=z
  126. 12600 dt=pc-mx+pq-my:if dt>mt then mt=dt:gg=a1
  127. 12700 next a2
  128. 12800 next a1:y=gg:return
  129. 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]"
  130. 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-"
  131. 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]"
  132. 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"
  133. 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]-"
  134. 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]"
  135. 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],"
  136. 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]"
  137. 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]"
  138. 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]"
  139. 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]."
  140. 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],"
  141. 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]."
  142. 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]"
  143. 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]'."
  144. 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]"
  145. 14500 print"[198][197][204][196][197][211] ('+' oder '-').":return
  146. 14600 rem define vars
  147. 14700 dim bd(7,7)
  148. 14800 oh=100:mh=-100
  149. 14900 a3=0:a2=0:pw=0:sv=0:my=0
  150. 15000 pq=0:gg=0:mt=0:mx=0:dt=0
  151. 15100 pc=0:pk=0:a1=0:c2=0
  152. 15200 z=0:o=1:return
  153. 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
  154. 20010 return
  155.