// Version hvor MUTATION kan ændre længden af genotypen // 2005 Mogens Jacobsen void setup() { //noLoop(); size(400,400); } void draw() { int x= width/2; int y= height/2; // Hvor ofte skal en mutation indtræffe? (sandsynlighed i promille) int muterprocent = 5; // Visuel historik: ------------------------------------ // Vi tegner en transparent kasse over det gamle billede fill(240, 240, 240, 50); rect(0,0,width,height); fill(150,50,50); //------------------------------------------------------- // Vi laver et sprog med 4 mulige instrukser // O = Op, N = Ned, H = Højre, V=Venstre String[] alfabet = new String[8]; alfabet[0] = "O"; alfabet[1] = "N"; alfabet[2] = "H"; alfabet[3] = "V"; alfabet[4] = ""; //denne fjerner et tegn fra sætningen! alfabet[5] = ""; //gentages for at der er lige sandsynlighed for at blive lang og kort alfabet[6] = "HN"; alfabet[7] = "VO"; // Hent genotypen ind fra filen "dna.txt" String DNA[] = loadStrings("dna.txt"); int DNAantal = DNA[0].length(); beginShape(POLYGON); for (int i=0; imuterprocent) { // tegnet kopieres uændret muteretDNA =muteretDNA + DNA[0].charAt(i) ; } else { // tegnet muterer muteretDNA =muteretDNA + alfabet[int(random(8))] ; } } DNA[0]= muteretDNA; //------------------------------------------------------- // Skal der komme et REWRITING SYSTEM in her? ----------- //------------------------------------------------------- // den nye genotype gemmes i filen "dna.txt" saveStrings("dna.txt", DNA); }