home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1985 January / 64er_Magazin_85-01_1985_Markt__Technik_de.d64 / handballdemo (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  10KB  |  239 lines

  1. 10 rem " handball20 vom 04.8.84 "
  2. 20 dimzesp%(1,7),ds%(1010),po%(5,9)
  3. 1000 data1,2,2,4,4,5,5,4,4,3,3,1,1,0,0,1
  4. 1010 data0,1,1,2,2,0,1,2,2,0,0,1,2,0,0,1,1,2,3,5,5,4,4,3,4,3,3,5,5,4,5,4,4,3,3,5
  5. 3000 data1,1,1,1,1,1,1,1,1,1,-1,-1,-1,-1,1,1,1,1,2,3
  6. 3010 data-1,-1,-1,-1,1,1,2,2,2,2,-2,-2,-1,-1,-1,-1,-1,-1,1,1
  7. 3020 data-3,-2,-2,-2,-2,-1,1,1,1,1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1
  8. 4000 data1,1,108,1,22,123,22,22,126,22,1,124
  9. 4010 data98,97,226,225
  10. 4020 data10,0,220,11,0,220,12,0,220,13,0,220
  11. 4030 data10,1,226,11,1, 72,12,1, 72,13,1,98                   
  12. 4040 data5,2,120,5,3,120,5,4, 81,5,5,123,6,5,124              
  13. 4050 data6,6,123,7,6,124,7,7,123,8,7,81,9,7,225              
  14. 4060 data10,7,225,11,7,225,12,7,225,13,7,225,14,7,225
  15. 4070 data15,7, 81,16,7,126,16,6,108,17,6,126,17,5,108         
  16. 4080 data18,5,126,18,4, 81,18,3,121,18,2,121                  
  17. 4090 data2,4,124,2,6,123,3,7,108,5,9,126,6,10,123
  18. 4100 data8,10,124,9,10,108,11,10,124,12,10,108
  19. 4110 data14,10,124,15,10,108,17,10,126,18,9,123
  20. 4120 data20,7,124,21,6,126,21,4,108
  21. 20010 data0,504,63,567,126,630,189,693,252,756,315,819,378,882,441,945
  22. 20020 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  23. 20022 data0,60,0,0,126,0,0,255,0,0,255,0,0,255,0,0,255,0,0,126,0,0,60,0
  24. 20024 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  25. 20030 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,28,0,0,24,0
  26. 20032 data8,24,0,24,56,0,8,124,0,8,102,0,8,67,0,8,64,0,28,96,0
  27. 20034 data0,56,0,0,28,0,0,30,0,0,24,0,0,12,0,0,0,0
  28. 20040 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,28,0,0,24,0
  29. 20042 data28,24,0,34,56,0,2,124,0,4,102,0,8,99,0,16,96,0,62,96,0
  30. 20044 data0,56,0,0,28,0,0,30,0,0,24,0,0,12,0,0,0,0
  31. 20050 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,28,0,0,24,0
  32. 20052 data62,24,0,4,56,0,8,124,0,28,102,0,2,67,0,2,64,0,60,96,0
  33. 20054 data0,56,0,0,28,0,0,30,0,0,24,0,0,12,0,0,0,0
  34. 20060 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,28,0,0,24,0
  35. 20062 data4,24,0,12,56,0,20,124,0,36,102,0,62,67,0,4,64,0,4,96,0
  36. 20064 data0,56,0,0,28,0,0,30,0,0,24,0,0,12,0,0,0,0
  37. 20070 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,28,0,0,24,0
  38. 20072 data62,24,0,32,56,0,60,124,0,2,102,0,2,67,0,34,64,0,28,96,0
  39. 20074 data0,56,0,0,28,0,0,30,0,0,24,0,0,12,0,0,0,0
  40. 20080 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,28,0,0,24,0
  41. 20082 data12,24,0,16,56,0,32,124,0,60,102,0,34,67,0,34,64,0,28,96,0
  42. 20084 data0,56,0,0,28,0,0,30,0,0,24,0,0,12,0,0,0,0
  43. 20090 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,28,0,0,24,0
  44. 20092 data62,24,0,2,56,0,4,124,0,8,102,0,8,67,0,8,64,0,8,96,0
  45. 20094 data0,56,0,0,28,0,0,30,0,0,24,0,0,12,0,0,0,0
  46. 20100 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  47. 20102 data0,60,0,0,126,0,0,255,0,0,255,0,0,255,0,0,255,0,0,126,0,0,60,0
  48. 20104 data0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  49. 20110 data0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,56,0,0,56,0,0,24,0
  50. 20112 data0,28,16,0,52,48,0,246,16,3,6,16,0,6,16,0,60,16,0,60,56
  51. 20114 data0,54,0,0,102,0,0,99,0,0,193,128,0,128,128,0,0,0
  52. 20120 data0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,56,0,0,56,0,0,24,0
  53. 20122 data0,28,56,0,52,68,0,246,4,0,6,8,0,6,16,0,60,32,0,60,124
  54. 20124 data0,54,0,0,102,0,0,99,0,0,193,128,0,128,128,0,0,0
  55. 20130 data0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,56,0,0,56,0,0,24,0
  56. 20132 data0,28,124,0,52,8,0,246,16,0,6,56,0,6,4,0,60,4,0,60,120
  57. 20134 data0,54,0,0,102,0,0,99,0,0,193,128,0,128,128,0,0,0
  58. 20140 data0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,56,0,0,56,0,0,24,0
  59. 20142 data0,28,8,0,52,24,0,246,40,0,6,72,0,6,124,0,60,8,0,60,8
  60. 20144 data0,54,0,0,102,0,0,99,0,0,193,128,0,128,128,0,0,0
  61. 20150 data0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,56,0,0,56,0,0,24,0
  62. 20152 data0,28,124,0,52,64,0,246,120,0,6,4,0,6,4,0,60,68,0,60,56
  63. 20154 data0,54,0,0,102,0,0,99,0,0,193,128,0,128,128,0,0,0
  64. 20160 data0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,56,0,0,56,0,0,24,0
  65. 20162 data0,28,24,0,52,32,0,246,64,0,6,120,0,6,68,0,60,68,0,60,56
  66. 20164 data0,54,0,0,102,0,0,99,0,0,193,128,0,128,128,0,0,0
  67. 20170 data0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,56,0,0,56,0,0,24,0
  68. 20172 data0,28,124,0,52,4,0,246,8,0,6,16,0,6,16,0,60,16,0,60,16
  69. 20174 data0,54,0,0,102,0,0,99,0,0,193,128,0,128,128,0,0,0
  70. 30002 poke53281,11:poke53280,13:printchr$(147)
  71. 30005 forih=0to9:printchr$(17);:nextih:printtab(8)"h a n d b a l l d e m o"
  72. 30008 fori=1to8:forj=0to1:readzb%(i,j):nextj:nexti
  73. 30009 fori=0to5:forj=0to5:readzs%(i,j):nextj:nexti
  74. 30020 fori=0to5:forj=0to9:readpo%(i,j):next:next
  75. 30030 printchr$(147):ii=40:forxg=1to4
  76. 30035 ready,x,ch:poke1024+y*ii+x,ch:poke55296+y*ii+x,13:nextxg:readch
  77. 30040 forxg=2to21:poke1064+xg,ch:poke55336+xg,13:nextxg:readch
  78. 30045 forxg=2to21:poke1046+xg*ii,ch:poke55318+xg*ii,13:nextxg:readch
  79. 30050 forxg=2to21:poke1904+xg,ch:poke56176+xg,13:nextxg:readch
  80. 30055 forxg=2to21:poke1025+xg*ii,ch:poke55297+xg*ii,13:nextxg
  81. 30060 forxg=1to48:ready,x,ch:poke1024+y*ii+x,ch:poke55296+y*ii+x,13:nextxg
  82. 30065 fori=0to7:forj=0to1:readzesp%(j,i):nextj:nexti
  83. 30066 fori=0to1007:readds%(i):nexti
  84. 30068 forih=0to21:printchr$(17);:nextih
  85. 30069 forih=0to21:printchr$(145);:nextih
  86. 30070 printtab(23)"angriffssystem":printtab(27)"a 5:1":printtab(27)"b 4:2"
  87. 30076 printtab(27)"c 3:3":printtab(27)"d 2:4":gosub55000:x$=q$:print
  88. 30080 printtab(23)"abwehrsystem":printtab(27)"e 3:2:1":printtab(27)"f 4:2"
  89. 30086 printtab(27)"g 5:1":printtab(27)"h 6:0":gosub55000:y$=q$:print
  90. 30090 printtab(23)"taktik":printtab(27)"i passen":printtab(27)"k stossen"
  91. 30120 printtab(27)"l achter":printtab(27)"m abwehren":printtab(27)"z ende"
  92. 30135 gosub55000:z$=q$:print
  93. 30140 ifz$<>"m"thengosub60000:sit=1:a=-8
  94. 30150 ifz$="m"thengosub60100:sit=0:a=8
  95. 30160 v=53248:n=0:forih=0to6:n=n+2^ih:nextih:pokev+21,n
  96. 30165 forih=0to5:nrsp=2+ih:gosub40000:nextih
  97. 30170 nrsp=0:ih=6:sx(ih)=sx(4)+a:sy(ih)=sy(4):gosub40000
  98. 30175 ifz$="m"thengosub60000
  99. 30185 ifz$<>"m"thengosub60100
  100. 30186 forih=0to5:pokesc(ih),96:nextih
  101. 30190 forih=0to5
  102. 30192 ifsy(ih)=134 then sy(ih)=138
  103. 30194 sc(ih)=sx(ih)/8+5*sy(ih)+812:sz(ih)=sc(ih)+54272
  104. 30195 ifsit=0thenpokesc(ih),0:pokesz(ih),0
  105. 30196 ifsit=1thenpokesc(ih),0:pokesz(ih),1
  106. 30197 nextih
  107. 30200 ifz$="i"thengosub44000
  108. 30210 ifz$="k"thengosub42000
  109. 30220 ifz$="l"thengosub50000
  110. 30230 ifz$="m"thengosub38000
  111. 30240 ifz$="z"thengosub63000
  112. 31000 goto30069
  113. 36000 sx(0)=88:sx(1)=120:sx(2)=136:sx(3)=88:sx(4)=120:sx(5)=88
  114. 36004 sy(0)=74:sy(1)=90:sy(2)=134:sy(3)=134:sy(4)=178:sy(5)=194:return
  115. 36010 sx(0)=88:sx(1)=128:sx(2)=88:sx(3)=88:sx(4)=128:sx(5)=88
  116. 36014 sy(0)=74:sy(1)=106:sy(2)=114:sy(3)=154:sy(4)=162:sy(5)=194:return
  117. 36020 sx(0)=56:sx(1)=112:sx(2)=136:sx(3)=88:sx(4)=112:sx(5)=56
  118. 36024 sy(0)=66:sy(1)=82:sy(2)=134:sy(3)=134:sy(4)=186:sy(5)=202:return
  119. 36030 sx(0)=56:sx(1)=120:sx(2)=88:sx(3)=88:sx(4)=120:sx(5)=56
  120. 36034 sy(0)=66:sy(1)=90:sy(2)=114:sy(3)=154:sy(4)=178:sy(5)=202:return
  121. 36050 sx(0)=72:sx(1)=88:sx(2)=80:sx(3)=104:sx(4)=88:sx(5)=72
  122. 36054 sy(0)=178:sy(1)=162:sy(2)=134:sy(3)=134:sy(4)=106:sy(5)=90:return
  123. 36060 sx(0)=72:sx(1)=88:sx(2)=80:sx(3)=80:sx(4)=88:sx(5)=72
  124. 36064 sy(0)=178:sy(1)=162:sy(2)=146:sy(3)=122:sy(4)=106:sy(5)=90:return
  125. 36070 sx(0)=64:sx(1)=80:sx(2)=80:sx(3)=104:sx(4)=80:sx(5)=64
  126. 36074 sy(0)=186:sy(1)=162:sy(2)=134:sy(3)=134:sy(4)=106:sy(5)=82:return
  127. 36080 sx(0)=64:sx(1)=80:sx(2)=80:sx(3)=80:sx(4)=80:sx(5)=64
  128. 36084 sy(0)=186:sy(1)=170:sy(2)=146:sy(3)=122:sy(4)=98:sy(5)=82:return
  129. 38000 ig=1:xz=xb(ig)-16:yz=yb(ig)-16
  130. 38020 zy=int(rnd(1)*10):n=po%(ig,zy)
  131. 38040 x1=xb(ig):x2=xb(ig+n):y1=yb(ig):y2=yb(ig+n)
  132. 38050 gosub60400:gosub60450:qb=q:ub=u:nb=nt
  133. 38070 x1=vx(5-ig-n):x2=xb(ig+n):y1=vy(5-ig-n):y2=yb(ig+n)
  134. 38080 gosub60400:gosub60450:qa=q:ua=u
  135. 38100 x1=xz:x2=vx(5-ig):y1=yz:y2=vy(5-ig)
  136. 38110 gosub60400:gosub60450:qz=q:uz=u
  137. 38140 vs=4:nb=20:forin=0tonbstepvs
  138. 38150 xp=xb(ig)+int(qb*in/nb)-8
  139. 38160 yp=yb(ig)+int(ub*in/nb):gosub60200
  140. 38180 xp=vx(5-ig-n)+int(qa*in*0.5/nb):x1=xp
  141. 38190 yp=vy(5-ig-n)+int(ua*in*0.5/nb):y1=yp
  142. 38200 x=2*(5-ig-n):y=x+1:gosub60250
  143. 38210 xp=xz+int(qz*in/nb):yp=yz+int(uz*in/nb)
  144. 38230 x=2*(5-ig):y=x+1:gosub60250
  145. 38250 nextin
  146. 38280 xz=x1:yz=y1:ig=ig+n
  147. 38290 geta$:ifa$=""goto38020
  148. 38300 return
  149. 40000 poke2040+ih,248+ih:pokev+39+ih,1:ifsit=1thenpokev+39+ih,0
  150. 40040 j=zesp%(sit,nrsp):s1=15872+ih*64:s2=s1+62
  151. 40060 forkh=s1tos2:pokekh,ds%(j):j=j+1:nextkh
  152. 40080 x=2*ih:y=2*ih+1:xp=sx(ih):yp=sy(ih):gosub60250:return
  153. 42000 zz=0
  154. 42020 if(x$="d"orx$="b")thengosub43900
  155. 42030 if(x$="c"orx$="a")thengosub43950
  156. 42040 forxg=xatoxe:x1=xt(xg):x2=xt(xg+1):y1=yt(xg):y2=yt(xg+1):gosub60400
  157. 42060 forin=0tontstepvs:gosub60450:xp=xp-8:gosub60200:nextin:nextxg
  158. 42130 zz=30:gosub60000
  159. 42150 forxg=5to0step-1:x=2*xg:y=x+1
  160. 42160 ifxg=3goto42190
  161. 42170 if(xg=2andx$="b")or(xg=2andx$="d")goto42190
  162. 42180 forjj=0to5:zq=zz*jj/5:xp=sx(xg)+zq:yp=sy(xg):gosub60250
  163. 42185 xp=xb(5)+zq-8:yp=yb(5):gosub60200:nextjj
  164. 42190 nextxg
  165. 42210 n=1:zs=zz
  166. 42220 forxg=5to1step-1
  167. 42230 ifxg=3goto42380
  168. 42240 if(xg=2andx$="b")or(xg=2andx$="d")goto42380
  169. 42244 ifxg=4thenn=2
  170. 42248 if(xg=4andx$="b")or(xg=4andx$="d")thenn=3
  171. 42250 x=2*xg:y=x+1:xn=2*(xg-n):yn=xn+1
  172. 42260 fori=0tozzstepvs
  173. 42270 xp=sx(xg)+zs-i:yp=sy(xg):gosub60250:xx=sx(xg)+zs-8
  174. 42280 xp=xx-i:gosub60200:nexti
  175. 42300 qb=sx(xg-n)-sx(xg)+zz-zs:ub=sy(xg-n)-sy(xg)
  176. 42310 fori=0tozzstepvs
  177. 42330 x=xn:xp=sx(xg-n)-i+zz:y=yn:yp=sy(xg-n):gosub60250
  178. 42350 xp=xx+int(qb*i/zz)-zz:yp=yb(xg)+int(ub*i/zz):gosub60200:nexti:n=1:zs=0
  179. 42380 nextxg
  180. 42382 forih=0to5:nrsp=2+ih:gosub40080
  181. 42384 forjh=0to20:nextjh:nextih
  182. 42390 geta$:ifa$=""goto42000
  183. 43000 return
  184. 43900 xa=0:xe=2:vs=4
  185. 43920 xt(0)=xb(0)+zz:yt(0)=yb(0):xt(1)=xb(1)+zz:yt(1)=yb(1)
  186. 43921 xt(1)=xb(1)+zz:yt(1)=yb(1)
  187. 43930 xt(2)=xb(4)+zz:yt(2)=yb(4):xt(3)=xb(5)+zz:yt(3)=yb(5):return
  188. 43950 xa=0:xe=3:vs=4
  189. 43970 xt(0)=xb(0)+zz:yt(0)=yb(0):xt(1)=xb(1)+zz:yt(1)=yb(1)
  190. 43980 xt(2)=xb(2)+zz:yt(2)=yb(2):xt(3)=xb(4)+zz:yt(3)=yb(4)
  191. 43990 xt(4)=xb(5)+zz:yt(4)=yb(5):return
  192. 44000 xa=0:xe=4:vs=5
  193. 44020 forxg=xatoxe
  194. 44025 x2=xb(xg+1):x1=xb(xg):y2=yb(xg+1):y1=yb(xg):gosub60400
  195. 44060 forin=0tontstepvs:gosub60450:xp=xp-8:gosub60200:nextin:nextxg
  196. 44110 xa=5:xe=1:vs=5  
  197. 44120 forxg=xatoxestep-1
  198. 44125 x2=xb(xg-1):x1=xb(xg):y2=yb(xg-1):y1=yb(xg):gosub60400
  199. 44160 forin=0tontstepvs:gosub60450:xp=xp-8:gosub60200:nextin:nextxg
  200. 44205 geta$:ifa$=""goto44000
  201. 44250 return
  202. 50000 gosub36030:sx(1)=sx(1)+16:sx(4)=sx(4)+16
  203. 50010 forig=0to5:x=2*ig:y=x+1:xp=sx(ig):yp=sy(ig):gosub60250:nextig
  204. 50050 xp=sx(1)-8:yp=sy(1):gosub60200
  205. 50100 forjj=0to2:fortt=1to8
  206. 50110 x1=sx(zb%(tt,0))-8:x2=sx(zb%(tt,1))-8:y1=sy(zb%(tt,0)):y2=sy(zb%(tt,1))
  207. 50115 gosub60400
  208. 50120 if(tt=1)or(tt=5)thengosub50500
  209. 50130 forl=0to8:xp=x1+q*l/8:yp=y1+u*l/8:gosub60200
  210. 50140 if(tt=1)or(tt=5)thengosub50600
  211. 50150 nextl
  212. 50160 nexttt:nextjj
  213. 50200 geta$:ifa$=""goto50100
  214. 50300 return
  215. 50500 js=0:iftt=5thenjs=3
  216. 50510 fork=0to2:x=js+k:y=2*jj:z=y+1:s1=zs%(x,y):s2=zs%(x,z)
  217. 50515 xx(k)=sx(s1):yy(k)=sy(s1)
  218. 50520 qq(k)=sx(s2)-sx(s1):uu(k)=sy(s2)-sy(s1):nextk:return
  219. 50600 fork=0to2:x=(js+k)*2:y=x+1
  220. 50610 xp=xx(k)+qq(k)*l/8:yp=yy(k)+uu(k)*l/8:gosub60250:nextk:return
  221. 55000 printtab(23);chr$(18);:input"waehlen : ";q$:return
  222. 60000 ifx$="a"thengosub36000
  223. 60010 ifx$="b"thengosub36010
  224. 60020 ifx$="c"thengosub36020
  225. 60030 ifx$="d"thengosub36030
  226. 60040 forib=0to5:xb(ib)=sx(ib):yb(ib)=sy(ib):ax(ib)=sx(ib):ay(ib)=sy(ib):nextib
  227. 60050 return
  228. 60100 ify$="e"thengosub36050
  229. 60110 ify$="f"thengosub36060
  230. 60120 ify$="g"thengosub36070
  231. 60130 ify$="h"thengosub36080
  232. 60140 forii=0to5:vx(ii)=sx(ii):vy(ii)=sy(ii):nextii
  233. 60150 return
  234. 60200 pokev+12,xp:pokev+13,yp:return
  235. 60250 pokev+x,xp:pokev+y,yp:return
  236. 60400 q=x2-x1:u=y2-y1:nt=int(sqr(q*q+u*u)):return
  237. 60450 xp=x1+int(q*in/nt):yp=y1+int(u*in/nt):return
  238. 63000 end
  239.