Evolve - Download
Evolve
NOTE: This program is obsolete. A newer version is availble
here.
Introduction
Evolve is my first Eiffel application. It will run on Windows 98, Windows ME and Window NT.
It uses ISE 4.5.
Download Links
What is it?
Evolve is a evolution simulator in which 2-dimensional critters compete against each other.
Each organism has a genetic program (similar to a core-wars program).
The online documentation is very incomplete. But this has some
good screen shots and a basic overview.
About the Eiffel code
As mentioned before this is my first complete eiffel application. I ported Evolve from
a version I had written in Borland Builder C++. The eiffel version has many new features so
the two are no longer identical.
If you are learning eiffel, or you are hunting for example code, then this project includes
many useful constructs:
- How to make dialogs and interface with WEL
- How to draw and do simple graphics in WEL
- How to use GOBO yacc
- How to use the FILE_DIALOG
- How to use STORAGE for reading/writing eiffel objects to files.
- A random number generator ported from unix source code.
- Ellipse/line/curve drawing algorithms ported to eiffel.
- Example of an iterator, and its reuse in many places.
Since this was my first eiffel project, not everything is ideal. I was trying to wean myself
from a C/C++ background.
- I didn't use command/query principles as much as I should have
- In some places I used UPPERCASE for constants, instead of a single Uppercase letter.
About the C++ code
The c++ code will not run, because I have lost the borland project files, etc.. But
one can still compare the C++ code to the eiffel code.
- How manual memory allocation obscures the underlying logic of the program
- How the obsession with performance leads to bit-twiddling (and bugs).
- The core simulator is actually written in C code (because that was the original unix
version I developed, before I knew C++).
- Only the borland GUI stuff is in C++.
Public Domain
This code is 100% in the public domain. Go ahead and use it freely and make millions of
dollars from it. I'll do the same if I have the time. (Make sure you own the
Professional version of ISE eiffel though!)