home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / hard.hdv / HARD / CPMFILES / OWL.BAS < prev    next >
Encoding:
BASIC Source File  |  1994-12-16  |  1.7 KB  |  51 lines  |  [04] ASCII Text (0x0000)

  1. 0 GENERATIONS=25
  2. 1 MAXMICE=400:MAXOWLS=10:MINMICE=3:MINOWLS=1:SQUARE=50
  3. 2 DIM O(GENERATIONS),M(GENERATIONS)
  4. 5 TEXT:HOME
  5. 10 RANDOMIZE
  6. 15 RANDOMIZE(PEEK(&HF000+78)+PEEK(&HF000+79)*256-32768!)
  7. 20 HOME:PRINT"HOOT WOODS SIMULATION":PRINT:PRINT
  8. 30 PRINT"How many mice will you start with? ("MINMICE"-"MAXMICE") ";
  9. 40 INPUT "",M$:IF VAL(M$)<MINMICE OR VAL(M$)>MAXMICE THEN 30
  10. 50 PRINT"How many owls will you start with? ("MINOWLS"-"MAXOWLS")  ";
  11. 60 INPUT "",O$:IF VAL(O$)<MINOWLS OR VAL(O$)>MAXOWLS THEN 50
  12. 70 HGR:HCOLOR=3
  13. 80 XC=140-SQUARE/2:YC=80-SQUARE/2
  14. 85 HPLOT XC,YC TO XC+SQUARE+1,YC TO XC+SQUARE+1,YC+SQUARE+1 TO XC,YC+SQUARE+1 TO XC,YC
  15. 90 M=VAL(M$):O=VAL(O$):G=1
  16. 100 FOR K=1 TO M
  17. 110 X=INT(RND*SQUARE)+XC+1:Y=INT(RND*SQUARE)+YC+1
  18. 120 IF HSCRN(X,Y) THEN 110
  19. 130 HPLOT X,Y
  20. 140 NEXT K
  21. 145 FOR G=1 TO GENERATIONS
  22. 150 VTAB 24:PRINT"GENERATION:"G" MICE:"M" OWLS:"O;
  23. 152 O(G)=O:M(G)=M
  24. 155 DEAD=0:BABIES=0
  25. 160 FOR W=1 TO O
  26. 165 HCOLOR=3
  27. 170 X=INT(RND*(SQUARE-6))+XC+1:Y=INT(RND*(SQUARE-6))+YC+1
  28. 175 KILLED=0
  29. 180 FOR A=X TO X+6:FOR B=Y TO Y+6
  30. 190 IF HSCRN(A,B) THEN KILLED=KILLED+1
  31. 200 HPLOT A,B
  32. 210 NEXT B,A
  33. 220 HCOLOR=0:FOR A=X TO X+6:HPLOT A,Y TO A,Y+6:NEXT
  34. 230 IF KILLED<3 THEN O=O-1 ELSE BABIES=BABIES+KILLED\3
  35. 235 DEAD=DEAD+KILLED
  36. 240 NEXT W
  37. 245 M=M-DEAD
  38. 250 PRINT" MICE CAUGHT:";DEAD;" SURVIVING MICE:";M;" OWLS STARVED:";W-O-1;" OWL BABIES:";BABIES;" BABY MICE:";
  39. 260 IF M<MINMICE THEN M=MINMICE
  40. 265 HCOLOR=3
  41. 267 IF M=MAXMICE THEN BABYMICE=0 ELSE IF M*2>MAXMICE THEN BABYMICE=MAXMICE-M ELSE BABYMICE=M
  42. 269 PRINT BABYMICE
  43. 270 FOR K=1 TO BABYMICE
  44. 280 X=INT(RND*SQUARE)+XC+1:Y=INT(RND*SQUARE)+YC+1
  45. 290 IF HSCRN(X,Y) THEN 280
  46. 300 HPLOT X,Y:NEXT K
  47. 310 IF O<MINOWLS THEN O=MINOWLS
  48. 320 O=O+BABIES
  49. 325 M=M+BABYMICE
  50. 330 NEXT G
  51.