home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 34 / 64er_Magazin_Sonderheft_34_19xx_Markt__Technik_de_Disk_2_of_2_Side_A.d64 / blattlaus (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  7KB  |  306 lines

  1. 100 D1 neubeginn
  2. 110 print"[147]":DG:clr:DZ:D 6,6
  3. 120 dim feld(36),x(36),y(36),l(300),k(300),h(300),v(300)
  4. 130 print"[147]":D 6,6:poke 198,0
  5. 140 DE 6,0,0,6:D3 titel
  6. 150 rem ****  500 ****
  7. 160 D3 parameter
  8. 170 rem **** 8000 ****
  9. 180 D3 sonderzeichen
  10. 190 rem **** 9000 ****
  11. 200 :
  12. 300 rem **** programmbeginn ****
  13. 305 :
  14. 310 D1 vorbereiten
  15. 315 print"[147]":DE 5,0,0,1
  16. 320 fl=0:b=-1:nf=0:fg=0:rem ** flags ** *
  17. 325 rem fl:gift;b:balken;nf:neuanfang
  18. 330 D3 DO
  19. 335 rem **** 1000 ****
  20. 340 D3 spielfeld
  21. 345 rem **** 1500 ****
  22. 350 D3 belegen
  23. 355 rem **** 2000 ****
  24. 360 D2 start
  25. 365 rem **** 2500 ****
  26. 370 :
  27. 400 D1 spielen
  28. 410 D3 wuerfeln
  29. 415 rem **** 4000 ****
  30. 420 if nf=1 then D2 vorbereiten
  31. 430 printD(0,23)"[144]  [g]rafik  [t]abellen   [e]nde  [n]eu  ";
  32. 440 D2 kommando
  33. 445 rem **** 3000 ****
  34. 450 :
  35. 490 end:rem **** programm  ende ****
  36. 495 :
  37. 500 D1 titel
  38. 505 D 6,6:print"[154][147]"
  39. 510 printD(0,5)" * dietmar linhart * ph-gmuend * 1988 * ":print:print
  40. 520 D#"  das  raeuber - beute - spiel [146]":print:print:print
  41. 530 D#"ein populationsoekologisches":print:print
  42. 540 D#"wuerfelspiel":print:print:print
  43. 550 D#"nach einer anregung aus:"
  44. 560 print:print:print
  45. 570 D#"  unterricht biologie 2/1986 [146]"
  46. 580 D4
  47. 590 :
  48. 1000 D1 DO
  49. 1010 D 6,5:print"[147][144]"
  50. 1020 printD(1,2)" [152] oekospiel (ub 2/86)[146][144]  zaehler : "
  51. 1030 printD(18,5)"start ......... [s]"
  52. 1040 printD(18,7)"balkendiagramm  [b]"
  53. 1050 printtab(20)"ein / aus":print
  54. 1060 printtab(18)"insektizid .... [i]"
  55. 1070 printD(18,13)"neubeginn ..... [n]"
  56. 1080 printD(18,15)"ende [e] / halt [h]"
  57. 1100 D4
  58. 1110 :
  59. 1500 D1 spielfeld
  60. 1510 D 4,3,13,13,160,0
  61. 1520 D 18,2,36,4,160,0
  62. 1530 printD(3,4)ra$;
  63. 1540 for r=1to2:print r$(r);:next
  64. 1550 for r=1to5:print r$(3);r$(2);:next
  65. 1560 print r$(4)
  66. 1590 D4
  67. 1595 :
  68. 1600 D1 raster
  69. 1605 ra$="[152]"
  70. 1610 zs$="[157][157][157][157][157][157][157][157][157][157][157][157][157]"
  71. 1620 r$(1)=chr$(161)+chr$(189)
  72. 1630 for i=1 to 5:r$(1)=r$(1)+chr$(167)+chr$(189):next:r$(1)=r$(1)+chr$(187)
  73. 1640 r$(1)=r$(1)+zs$
  74. 1650 s$=chr$(126)+chr$(160):for i=1 to 6:r$(2)=r$(2)+s$:next
  75. 1660 r$(2)=r$(2)+chr$(126)+zs$
  76. 1670 r$(3)=chr$(127)+chr$(189):s$=chr$(171)+chr$(189)
  77. 1680 for i=1 to 5:r$(3)=r$(3)+s$:next:r$(3)=r$(3)+chr$(163)+zs$
  78. 1690 r$(4)=chr$(124)+chr$(189)
  79. 1695 s$=chr$(164)+chr$(189):for i=1 to 5:r$(4)=r$(4)+s$:next
  80. 1700 r$(4)=r$(4)+chr$(96)
  81. 1900 D4
  82. 1910 :
  83. 2000 D1 belegen
  84. 2005 k=0:l=0
  85. 2010 z$(1)=k$:z$(2)=l$:z$(3)=x$
  86. 2020 for i=1 to 36:z=int(6*rnd(1))+1
  87. 2030 if z>2 then feld(i)=3:z=3
  88. 2040 if z=1 then feld(i)=1:k=k+1
  89. 2050 if z=2 then feld(i)=2:l=l+1
  90. 2060 printD(x(i),y(i))z$(z):next i
  91. 2070 k(1)=k:l(1)=l:printD(33,2)"[144]"1
  92. 2100 D4
  93. 2110 :
  94. 2500 D1 start
  95. 2510 get a$
  96. 2520 if a$="s" then D2 spielen
  97. 2530 if a$="n" then D2 vorbereiten
  98. 2540 if a$="e" then D2 ende
  99. 2550 if a$<>"b"then D2 start
  100. 2560 b=-b:D3 balken
  101. 2570 D2 start
  102. 2600 :
  103. 3000 D1 interkom
  104. 3010 p=peek(203)
  105. 3020 ifp=28then b=-b:D3 balken
  106. 3030 D :D) peek(203)<>28
  107. 3040 ifp=33then D3 gift
  108. 3050 ifp=14then D2 ende
  109. 3060 ifp=39then nf=1
  110. 3070 ifp=29thenD :D)peek(203)=64
  111. 3080 poke 198,0:D4
  112. 3090 :
  113. 3200 D1 kommando
  114. 3210 p=peek(203)
  115. 3220 ifp=26then D3 grafik
  116. 3240 ifp=22then D3 tabellen
  117. 3250 ifp=14then D2 ende
  118. 3260 ifp=20orp=29then D3 DW
  119. 3270 ifp=39then DG:D2 neubeginn
  120. 3280 D2 kommando
  121. 3290 :
  122. 3500 D1 gift
  123. 3510 if fl=0 then fl=1:mi=i
  124. 3520 printD(35,10)"i[144][146]"
  125. 3530 for in=1 to 15
  126. 3540 z=int(36*rnd(1))+1:x=x(z):y=y(z)
  127. 3550 if feld(z)=1 then k=k-1:feld(z)=3:printD(x,y)x$
  128. 3560 if feld(z)=2 then l=l-1:feld(z)=3:printD(x,y)x$
  129. 3570 next in
  130. 3580 printD(35,10)"i"
  131. 3600 D4
  132. 3610 :
  133. 4000 D1 wuerfeln
  134. 4010 for i=2 to 300:printD(33,2)"[144]"i
  135. 4020 ifpeek(203)<>64then D3 interkom
  136. 4025 if nf=1 then D4
  137. 4030 :
  138. 4100 rem **** kaeferwurf ****
  139. 4110 z=int(36*rnd(1))+1:x=x(z):y=y(z)
  140. 4120 if feld(z)=2 then k=k+1:l=l-1:feld(z)=1:printD(x,y)k$:goto 4180
  141. 4130 if k=0 then 4180
  142. 4140 if feld(z)=1 then k=k-1:feld(z)=3:printD(x,y)x$:goto 4180
  143. 4150 for f=1 to 36
  144. 4160 if feld(f)=1 then k=k-1:feld(f)=3:printD(x(f),y(f))x$:goto 4180
  145. 4170 next f
  146. 4180 if k<0 then k=0
  147. 4190 k(i)=k
  148. 4200 :
  149. 4300 rem **** lauswurf ****
  150. 4310 z=int(36*rnd(1))+1:x=x(z):y=y(z)
  151. 4320 if feld(z)=1 then 4370
  152. 4330 if feld(z)=3 then l=l+1:feld(z)=2:printD(x,y)l$:goto 4370
  153. 4340 for f=1 to 36
  154. 4350 if feld(f)=3 then l=l+1:feld(f)=2:printD(x(f),y(f))l$:goto 4370
  155. 4360 next f
  156. 4370 if l<0 then l=0
  157. 4380 l(i)=l
  158. 4390 :
  159. 4400 if b=1 then D3 balken
  160. 4410 next i
  161. 4420 D4
  162. 4430 :
  163. 4990 :
  164. 5000 D1 balken
  165. 5010 if b=-1 then D 18,2,36,4,160,0:D4
  166. 5020 printD(3,19)kf$+mid$(kb$,37-k,35)
  167. 5040 printD(3,20)lf$+mid$(lb$,37-l,35)
  168. 5100 D4
  169. 5120 :
  170. 5500 D1 grafik
  171. 5505 sg=16:sk=sg-1:t=sg+4:sw=3:fc=1
  172. 5510 D 6,6:print"[147]"
  173. 5515 if fg=1 then DP 2:D4
  174. 5520 D 3,6
  175. 5525 D3 koordinaten
  176. 5530 h(1)=sg:v(1)=98-k(1)*4+1
  177. 5535 DO t,6,"kaefer",1,1,8
  178. 5540 for i=sw+1 to 300 step sw
  179. 5550 h(i)=sg+i:v(i)=98-k(i)*4+1
  180. 5555 if v(i)<0 then v(i)=0
  181. 5560 D h(i-sw),v(i-sw),h(i),v(i),1
  182. 5570 next
  183. 5580 :
  184. 5590 DV 14,6,6
  185. 5600 h(1)=sg:v(1)=197-l(1)*4+1
  186. 5610 DO t,185,"laeuse",1,1,8
  187. 5620 for i=sw+1 to 300 step sw
  188. 5630 h(i)=sg+i:v(i)=197-l(i)*4+1
  189. 5640 D h(i-sw),v(i-sw),h(i),v(i),1
  190. 5650 next
  191. 5660 fg=1:D4
  192. 5670 :
  193. 5680 D1 koordinaten
  194. 5690 D sk,199,sk,0,1
  195. 5700 D 10,199,320,199,1
  196. 5710 D  9,99,320,99,1
  197. 5720 D3 beschriftung
  198. 5730 for x=sk to 320 step 25
  199. 5740 D x,199,x,194,1:next
  200. 5750 for y=179 to 0 step -20
  201. 5760 tx=sk+21:ty=y-3
  202. 5770 DO tx,ty,"++++++++++++",1,1,25
  203. 5780 D sk-4,y,sk,y,1:next
  204. 5790 :
  205. 5820 if mi=0 then D4
  206. 5830 i=mi+16:D i-2,199,i-2,10,1
  207. 5840 D i-5,0,9,1,1
  208. 5850 D4
  209. 5860 :
  210. 5870 D1 beschriftung
  211. 5880 DO 0,176,"5",1,1,8
  212. 5890 DO 0, 76,"5",1,1,8
  213. 5900 DO 0,6,"n",1,1,8
  214. 5910 DO 0,16,"c",1,1,8
  215. 5920 DO 0,26,"e",1,1,8
  216. 5930 DO 0,36,"t",1,1,8
  217. 5940 D4
  218. 5950 :
  219. 6000 D1 ende
  220. 6010 DG:print"[147][159]":D 0,0:printD(9,7)" ende des programms [146]"
  221. 6080 DF 1:D 14,6:print"[154][147]":end
  222. 6090 goto 6050
  223. 6100 print"[144]load"chr$(34)"oekologie"chr$(34)",8":print"run"
  224. 6110 poke 631,19:poke 632,13:poke 633,13:poke 198,3:end
  225. 6120 print"[144]run":poke 631,19:poke 632,13:poke 198,2:end
  226. 6130 :
  227. 6500 D1 DW
  228. 6510 if p=20 then DW
  229. 6520 if p=29 then DS
  230. 6600 D4
  231. 6610 :
  232. 6700 D1 hardDW
  233. 6710 print"":open 1,3:open 3,4:bi$=""
  234. 6720 for z=1 to 25
  235. 6730 for s=1 to 40
  236. 6740 get#1,a$:bi$=bi$+a$:next s
  237. 6750 print#3,bi$:bi$="": next z
  238. 6760 print#3:close3:close1
  239. 6770 D4
  240. 6780 :
  241. 7000 D1 tabellen
  242. 7010 DG:D 6,6:print"[147][154]":fc=2
  243. 7020 print" populationstabelle    (10.er-schritte) [146]"
  244. 7025 print:print" startpopulation :"l(1)"laeuse ;"k(1)"kaefer"
  245. 7030 print:print" population der laeuse :                [146]"
  246. 7050 for i=10 to 300 step 10
  247. 7060 u$="##":l$=str$(l(i))
  248. 7070 D, " "+u$,l$:print" ";:next i
  249. 7080 print:print
  250. 7090 print" population der kaefer :                [146]"
  251. 7100 for i=10 to 300 step 10
  252. 7110 u$="##":k$=str$(k(i))
  253. 7120 D, " "+u$,k$:print" ";:next i
  254. 7130 print
  255. 7140 ki$=" kein insektizideinsatz [146]"
  256. 7150 if mi=0 then print ki$:goto 7170
  257. 7160 print" insektizideinsatz bei [146] :"mi
  258. 7170 printD(0,23)"  [g]rafik  [h]ardcopy   [e]nde  [n]eu  ";
  259. 7200 D4
  260. 7210 :
  261. 8000 D1 parameter
  262. 8010 D3 raster
  263. 8015 rem **** 1600 ****
  264. 8020 :
  265. 8025 rem **** feldkoordinaten ****
  266. 8030 z=0:xx=4:yy=5
  267. 8040 for y=yy to yy+10 step 2
  268. 8050 for x=xx to xx+10 step 2:z=z+1
  269. 8060 x(z)=x:y(z)=y:next x:next y
  270. 8070 :
  271. 8075 rem **** farbdefinitionen ****
  272. 8080 kf$="[150]":lf$="" : x$=chr$(160)
  273. 8085 k$=kf$+chr$(166):l$=lf$+chr$(165)
  274. 8090 :
  275. 8095 rem **** balkenvorgaben ****
  276. 8100 le$=Du(chr$(160),35)
  277. 8110 kb$=Du(chr$(166),36)+le$
  278. 8120 lb$=Du(chr$(165),36)+le$
  279. 8130 zl$=Du(chr$(160),10)
  280. 8140 :
  281. 8150 D4
  282. 8160 :
  283. 9000 D1 sonderzeichen
  284. 9010 D0 9110
  285. 9020 ba=57344
  286. 9030 for z=0 to 12:read c:ad=ba+8*c
  287. 9040 for bm=0 to 7:read d:poke ad+bm,d
  288. 9050 next bm:next z
  289. 9060 D4
  290. 9070 :
  291. 9100 rem zeichendaten
  292. 9110 data 43,24,24,24,255,255,24,24,24
  293. 9120 data 61,0,0,0,255,255,0,0,0
  294. 9130 data 30,24,24,24,24,24,24,24,24
  295. 9140 data 31,24,24,24,31,31,24,24,24
  296. 9150 data 35,24,24,24,248,248,24,24,24
  297. 9160 data 36,24,24,24,255,255,0,0,0
  298. 9170 data 39,0,0,0,255,255,24,24,24
  299. 9180 data 28,24,24,24,31,31,0,0,0
  300. 9190 data 59,0,0,0,248,248,24,24,24
  301. 9200 data 33,0,0,0,31,31,24,24,24
  302. 9210 data 0,24,24,24,248,248,0,0,0
  303. 9220 data 37,130,68,40,16,84,40,40,84
  304. 9230 data 38,186,68,0,238,170,170,108,40
  305. 9500 end
  306.