Repository navigation
Colour biomorph genome
The colour biomorph genome builds on the monochrome biomorph genome by introducing extra genes for color (including background color), limb shape (Rectangle, Stick, or Oval), and limb fill type (open, filled).
Unlike the "person" record definitions for the other original biomorph programs, the record for colour biomorphs contains a handle to its phenotype, the picture of the colour biomorph. In the other Blind Watchmaker programs, the handle to the picture is a sibling, not child, of the person record, and resides in the "Full" record type. This makes it easy for the Blind Watchmaker programs to serialize biomorph genomes (other than colour) to disk files, since the person records contain only primitive values and not pointers to complex structures.
The colour genome contains, in addition to the monochrome genome, nine color genes of type LONGINT, two enumerated types (LimbType and LimbFillType) and one INTEGER gene (ThicknessGene), for 40 extra bytes over the monochrome's 40, a total of 80 bytes.
type
SwellType = (Swell, Same, Shrink);
chromosome = array[1..9] of INTEGER;
CompletenessType = (Single, Double);
SpokesType = (NorthOnly, NSouth, Radial);
LimbType = (Stick, Oval, Rectangle);
LimbFillType = (Open, Filled);
person = record
gene: chromosome;
colorgene: array[1..8] of Longint;{index in clut}
BackColorGene: LongInt;{index in clut}
dgene: array[1..10] of SwellType;
SegNoGene: INTEGER;
SegDistGene: INTEGER;
CompletenessGene: CompletenessType;
SpokesGene: SpokesType;
tricklegene, mutsizegene, mutprobgene: INTEGER;
LimbShapeGene: LimbType;
LimbFillGene: LimbFillType;
ThicknessGene: INTEGER;
bioPicture: picHandle;
end;