home *** CD-ROM | disk | FTP | other *** search
/ 500 Game Surplus / XSurplus.iso / 524 / EVOLVE.TXT < prev    next >
Text File  |  1995-06-21  |  5KB  |  132 lines

  1.      ****************************************
  2.  
  3.                     EVOLUTION
  4.             (c)1994  by Tom Hollander
  5.  
  6.      ****************************************
  7.  
  8. Installation
  9. ------------
  10. Make sure you have the file VBRUN300.DLL in your 
  11. \WINDOWS\SYSTEM directory. Copy the file EVOLVE.EXE
  12. and this file EVOLVE.TXT wherever you want and run it.
  13.  
  14. If only everything was this easy!
  15.  
  16. History
  17. -------
  18. This program has a somewhat interesting history. The
  19. original idea, I am told, came from Richard Dawkins' 
  20. book, "The Blind Watchmaker" (not that I've read it!).
  21. At the time, my mother was inspired and wrote the 
  22. program in LOGO on our Texas Instruments TI-99/4A (a
  23. good computer for its day!)
  24. Last year, remembering the program, and also wanting
  25. to play with Visual Basic's graphics facilities, I
  26. decided to port the program to Windows. 
  27. However, since the program is based on "trees", I had
  28. to rewrite LOGO for VB. More on that below...
  29.  
  30. What does it do?
  31. ----------------
  32. Evolution is not a very good name, I just called it 
  33. that since the original was.
  34.  
  35. Evolution is really a game about artificial selection.
  36. The little V shapes you see at the start of the program
  37. are trees. Each tree has (I think) eight "genes" which
  38. can have a number of values. The genes for the trees 
  39. include colour, width, branch length, branch angle,
  40. tree depth, branch length ratio, branch angle ratio and
  41. so on. 
  42.  
  43. The tree in the centre of the screen is the parent. The
  44. four trees you see around it are its four children
  45. (asexual reproduction, here!). Each child will have
  46. just one random "gene" set to either one more or one
  47. less than its parent's gene value - hence, there will
  48. be evolution!
  49.  
  50. As GOD, your role is to choose which child will be the
  51. most successful. You do this by clicking once on the
  52. child you want to be the parent of the next generation.
  53. Note that there may be twins. Note also you can click
  54. on the parent to get a new set of children if you don't
  55. like any of the current batch.
  56.  
  57. When playing the game you can take any approach you like.
  58. Usually I just choose the most interesting looking trees.
  59. If you prefer you can try to "breed" the trees to look
  60. like something - beetles, frogs and butterflies seem
  61. to come up a lot.
  62. You could also choose a random approach (by always
  63. selecting the top-left child, for instance) for some 
  64. sort of simulation of how it might have happened in a
  65. real, random world.
  66.  
  67. If you breed them too big, they might overlap and become
  68. hard to see. If this happens you should consider breeding
  69. them smaller.
  70. Feel lucky you aren't using the original TI-LOGO version.
  71. It used to come up with an error message, "Out of Ink"
  72. when the trees got too big!
  73.  
  74. VB Virtual LOGO
  75. ---------------
  76. If you use VB and want to use LOGO routines in your
  77. programs, use the LOGO.FRM form provided in your projects.
  78.  
  79. You can also use the form in a logo-style interactive
  80. mode if you just want to play with it and draw pictures.
  81. To do this, run the program (from within VB), immediately
  82. press Ctrl-Break, and type your commands into the
  83. Debug window. It will behave just like real logo! Of
  84. course, if you want new procedures, you'll have to 
  85. write them into VB.
  86.  
  87. The LOGO routines supported in this version are:
  88.  
  89. FD x    Move the turtle forward x units
  90. BK x    Move the turtle backward x units
  91. LT x    Turn the turtle left x degrees
  92. RT x    Turn the turtle right x degrees
  93.  
  94. CIRCL r    Draw a circle to the left of radius r pixels
  95. CIRCR r    Draw a circle to the right of radius r pixels
  96. ARCL r x Draw an arc to the left of radius r pixels x degrees around
  97. ARCR r x Draw an arc to the right of radius r pixels x degrees around
  98.  
  99. HT    Hide turtle
  100. ST    Show turtle
  101.  
  102. PU    Pen Up
  103. PD    Pen Down
  104. PE    Pen Erase
  105. PX    Pen Reverse (invert current colour!)
  106.  
  107. SETPC c    Sets Pen colour to colour #c
  108. SETBG c    Sets background colour to colour #c
  109. SETW w    Sets Pen width to w pixels
  110.  
  111. CS    Clear Screen and move turtle to home position
  112. HOME    Move turtle to home position
  113. VANISH    Clear Screen without moving turtle
  114.  
  115. SETPOS x y    Move turtle to coordinates (x,y)
  116. SETH h        Set turtle heading to h degrees (0 is up)
  117.  
  118. TREE n    Draw a tree of depth n. This is the basis of EVOLUTION, but with fewer parameters!
  119. SQ x    Draw a "squiral" of angle x degrees. Try SQ 91, or SQ 145 !
  120.  
  121. If you can come up with any good new logo routines, or
  122. can think of some standard ones I've missed, please let
  123. me know.
  124.  
  125. __________________________________________
  126.  
  127. Tom Hollander 
  128. June 1995.
  129.  
  130. E-mail me at tholland@pcug.org.au.
  131. Visit my web page at http://www.pcug.org.au/~tholland
  132.