Einstellung der Parameter

 

Komplexe Muster

 

 

 

Code

 

Der unten stehende Programmcode kann mittels Copy und Paste direkt in den leeren, geöffneten Processing Editor kopiert werden und sollte zumindest unter Windows 7 direkt nach dem Start funktionieren.

 

Achtung: Das Verzeichnis, in welchem sich die Datei des Processing Quellcodes befindet (Dateiname.pde) muss den gleichen Namen wie die Quellcode-Datei besitzen. 

Durch die begrenzte Spaltenbreite dieser Seite können im Listing zusätzliche, nicht vorgesehene Zeilenumbrüche auftreten, die jedoch beim Zurück-Kopieren in den Processing Editor wieder verschwinden.

 

Die grafische Benutzeroberfläche ist nicht Bestandteil von Processing und wurde sozusagen "zu Fuß" programmiert. Der betreffende Code ist im folgenden Listing enthalten. Erfahrene Programmierer können ihn problemlos zur Erzeugung eigener grafischer Oberflächen zweckentfremden. 

 

 

 

// Wachstum 2 

// Sourcecode: Kurt Diedrich

// For private use only

 

 

// Arrays and Variables ##########################################################################

 

int[][] life = new int[400][400];

int[][] life2 = new int[400][400];

int[][] array4 = new int[400][400];

int[][] Farbarray = new int[256][3]; // Farbpalette

 

 

//basic values

int buttonflag;

int n;

int m;

int q;

int colorcntr;

int rot; int gruen; int blau;

int rot2; int gruen2; int blau2;

int rot3; int gruen3; int blau3;

 

// fillrandom

float wert1;

float wert2;

int wert3;

int wert4;

 

// Calculation function

int state;

int nb1; int nb2; int nb3; int nb4; int nb5; int nb6; int nb7; int nb8;

int summe;

int track=-1;

int flag1;

int delayzeit = 10;

 

int i = 5;  // Zunahme

int p  = 10; // Rücksetzwert

int k  = 10; // Wert für Erlaubnis zum Feuern

int s  = 255;

//int v = 255;

 

int cnt ;

int cnt2;

int zhlr=10;

int zhlr2=10;

 

int zweiarray;

// ####################################################################################

void setup()

{

size(1180,800); // Background

fill(50,60,70);

rect(0,0,1180,800);

fill(60,70,78);

rect(0,0,800,800); // Graphic display

 

// Create Buttons

fill(100,120,140);

rect(950,20,80,22);  

rect(950,50,80,22);  

rect(950,80,80,22);  

rect(950,110,80,22);  

rect(950,140,80,22);  

rect(950,170,80,22); 

 

// untere Gruppe

rect(950,500,80,22); // Ohne Doppel Array

rect(950,530,80,22); // Mith Dopple Array

 

rect(810,500,35,22); // Basic Array all

rect(850,500,35,22); // Basic Array odd neigbours

rect(890,500,35,22); // Basic Array even neigbours

 

rect(810,530,35,22); // Array2 all

rect(850,530,35,22); // Array2 odd neigbours

rect(890,530,35,22); // Array2 even neigbours

 

rect(810,500,35,22); 

rect(850,500,35,22); 

rect(890,500,35,22); 

 

rect(950,230,80,22); // Delay keys

rect(1080,230,80,22); 

 

fill(255);

rect(1032,230,46,22); // Delay-Values Display

 

fill(100,120,140);

rect(950,260,80,22); // i-value

rect(1080,260,80,22); 

 

fill(255);

rect(1032,260,46,22); // i-Value Display

 

fill(100,120,140);

rect(950,290,80,22); // p-value

rect(1080,290,80,22); 

 

fill(255);

rect(1032,290,46,22); // p-value Display

 

fill(100,120,140);

rect(950,320,80,22); // k-value

rect(1080,320,80,22); // 

 

fill(255);

rect(1032,320,46,22); // k-value  Display

 

 

fill(100,120,140);

rect(950,350,80,22); // s-value

rect(1080,350,80,22); // 

 

fill(255);

rect(1032,350,46,22); // s-value  Display

 

 

 

fill(0,80,0);

rect(1050,140,22,22); // LED for Tracking

rect(1050,530,22,22); // LED  Doppel Array

fill(0,255,0);

rect(1050,500,22,22); // LED Ohne Doppel Array

 

fill(0,255,0); rect(845,500,3,22); // LED alls neighborcells array1

fill(0,255,0); rect(845,530,3,22); // LED alls neighborcells array2

 

 

// Button Text ###############################

fill(255);

smooth();

text("Fill Random", 960,36);

text("Play", 976,66);

text("Pause", 974,96);

text("Reset", 974,126);

text("     Mode", 959,156);

text("End", 980,186);

text(" One Array", 960,516);

text(" Double Array", 952,546);

 

text("< Delay", 970,246);

text("Delay >", 1100,246);

 

text("< i-value", 970,276);

text("i-value >", 1100,276);

 

text("< k-value", 970,306);

text("k-value >", 1100,306);

 

text("< p-value", 970,336);

text("p-value >", 1100,336);

 

text("< s-value", 970,366);

text("s-value >", 1100,366);

 

text("  All", 812,516);

text(" Even", 852,516);

text(" Odd", 892,516);

 

text("  All", 812,546);

text(" Even", 852,546);

text(" Odd", 892,546);

 

 

// Text in den Textfeldern ######################

 

fill(0);

text("10 ms", 1036, 246);

 

text("i = 5", 1036, 276);

 

text("k = 10", 1036, 306);

 

text("p = 10", 1036, 336);  

 

text("s = 250", 1036, 366); 

 

fill_farbarray();

       

}

// End setup function #################################################################

 

 void mouseReleased() 

 { 

 buttonflag=0;

 }

 

void draw()

{

  // Identify clicked buttons

  if(mousePressed)

  {

    if ((mouseX>950) & (mouseX<1030) & (mouseY>20) & (mouseY<42)) {fillrandom();}   // Fill Random

    if ((mouseX>950) & (mouseX<1030) & (mouseY>50) & (mouseY<72)) { flag1=1;  life[200][ 200] = k;  cnt=k;}      // Play

    if ((mouseX>950) & (mouseX<1030) & (mouseY>80) & (mouseY<102)) { flag1=0; }     // Pause

    if ((mouseX>950) & (mouseX<1030) & (mouseY>110) & (mouseY<132)) {reset();}      // Reset

    

    if ((mouseX>950) & (mouseX<1030) & (mouseY>140) & (mouseY<162))                 // Leave Track

      {       

       if ((track==1) & (buttonflag==0)) {fill(0,80,0); rect(1050,140,22,22); buttonflag=1;track=-track;}

       if ((track== -1) & (buttonflag==0)) {fill(0,255,0); rect(1050,140,22,22); buttonflag=1;track=-track;}

      }  

    

    if ((mouseX>950) & (mouseX<1030) & (mouseY>170) & (mouseY<192)) {exit();}       // Exit

    

    if ((mouseX>950) & (mouseX<1030) & (mouseY>230) & (mouseY<253))                 // Delaytime -

     {

      delayzeit=delayzeit-1; if (delayzeit <0) {delayzeit=0;}

       noStroke(); fill(255); rect(1034,232,44,20);

      fill(0); text(delayzeit + " ms", 1036,246);     

     }

     

    if ((mouseX>1080) & (mouseX<1160) & (mouseY>230) & (mouseY<253))                // Delaytime +

     {

      delayzeit=delayzeit+1; if (delayzeit >999) {delayzeit=999;}

     noStroke(); fill(255); rect(1034,232,44,20);

     fill(0); text(delayzeit + " ms", 1036,246);

     }

     

     if ((mouseX>950) & (mouseX<1030) & (mouseY>260) & (mouseY<282) & (buttonflag==0))  

     {

      buttonflag=1;

      i=i-1;

      noStroke(); fill(255); rect(1034,262,44,20);

      fill(0); text("i = " + i, 1036,276);     

     

     }  

    if ((mouseX>1080) & (mouseX<1160) & (mouseY>260) & (mouseY<283) & (buttonflag==0))  

     {

      buttonflag=1;

      i=i+1;

     noStroke(); fill(255); rect(1034,262,44,20);

     fill(0); text("i = " + i, 1036,276);

     }

     

      if ((mouseX>950) & (mouseX<1030) & (mouseY>290) & (mouseY<312) & (buttonflag==0))  

     {

      buttonflag=1;

      k=k-1;

      noStroke(); fill(255); rect(1034,292,44,20);

      fill(0); text("k = " + k, 1036,306);     

     

     }  

    if ((mouseX>1080) & (mouseX<1160) & (mouseY>290) & (mouseY<312) & (buttonflag==0))  

     {

      buttonflag=1;

      k=k+1;

      noStroke(); fill(255); rect(1034,292,44,20);

      fill(0); text("k = " + k, 1036,306);

     }

     

      if ((mouseX>950) & (mouseX<1030) & (mouseY>320) & (mouseY<342) & (buttonflag==0))  

     {

       buttonflag=1;

      p=p-1;

      noStroke(); fill(255); rect(1034,322,44,20);

      fill(0); text("p = " + p, 1036,336);     

     

     }  

    if ((mouseX>1080) & (mouseX<1160) & (mouseY>320) & (mouseY<342) & (buttonflag==0))  

     {

      buttonflag=1;

      p=p+1;

      noStroke(); fill(255); rect(1034,322,44,20);

      fill(0); text("p = " + p, 1036,336);

     }

     

    if ((mouseX>950) & (mouseX<1030) & (mouseY>350) & (mouseY<372)& (buttonflag==0) )  

     {

     buttonflag=1;

      s=s-1;

      noStroke(); fill(255); rect(1034,352,44,20);

      fill(0); text("s = " + s, 1036,366);     

     

     }  

    if ((mouseX>1080) & (mouseX<1160) & (mouseY>350) & (mouseY<372)& (buttonflag==0) )  

     {

      buttonflag=1;

      s=s+1;

      noStroke(); fill(255); rect(1034,352,44,20);

      fill(0); text("s = " + s, 1036,366);

     }

     

     

     

  /*    if ((mouseX>950) & (mouseX<1030) & (mouseY>350) & (mouseY<372) & (buttonflag==0))  

     {

    

      s=s-1;

      noStroke(); fill(255); rect(1034,352,44,20);

      fill(0); text("s = " + s, 1036,366);     

     

     }  

    if ((mouseX>1080) & (mouseX<1160) & (mouseY>350) & (mouseY<372)& (buttonflag==0) )  

     {

     

      s=s+1;

      noStroke(); fill(255); rect(1034,352,44,20);

      fill(0); text("s = " + s, 1036,366);

     }

 */    

     if ((mouseX>950) & (mouseX<1030) & (mouseY>500) & (mouseY<572) )  

     {

     zweiarray = 0;

     fill(0,80,0);     

     rect(1050,530,22,22); // LED  Doppel Array

     fill(0,255,0);

     rect(1050,500,22,22); // LED Ohne Doppel Array

      

     

     }  

    if ((mouseX>950) & (mouseX<1030) & (mouseY>530) & (mouseY<552) )  

     {     

     zweiarray = 1;

     fill(0,255,0);     

     rect(1050,530,22,22); // LED  Doppel Array

     fill(0,80,0);

     rect(1050,500,22,22); // LED Ohne Doppel Array

      

     }

     

      

     

      if ((mouseX>810) & (mouseX<845) & (mouseY>500) & (mouseY<522) )  

     {

      zhlr2=10;

      fill(0,255,0); rect(845,500,3,22);

      fill(0,80,0); rect(885,500,3,22);

      fill(0,80,0); rect(925,500,3,22);

     }

     

     if ((mouseX>850) & (mouseX<885) & (mouseY>500) & (mouseY<522) )  

     {

      zhlr2=0;

      fill(0,60,0); rect(845,500,3,22);

      fill(0,255,0); rect(885,500,3,22);

      fill(0,80,0); rect(925,500,3,22);

     }  

    if ((mouseX>890) & (mouseX<925) & (mouseY>500) & (mouseY<522) )  

     {     

     zhlr2=1;    

     fill(0,60,0); rect(845,500,3,22);

     fill(0,60,0); rect(885,500,3,22);

     fill(0,255,0); rect(925,500,3,22);  

     }

     

     

     if ((mouseX>810) & (mouseX<845) & (mouseY>530) & (mouseY<552) )  

     {

      zhlr=10;

      fill(0,255,0); rect(845,530,3,22);

      fill(0,80,0); rect(885,530,3,22);

      fill(0,80,0); rect(925,530,3,22);

     

     }

     

     if ((mouseX>850) & (mouseX<885) & (mouseY>530) & (mouseY<552) )  

     {

      zhlr=0;

       fill(0,60,0); rect(845,530,3,22);

      fill(0,255,0); rect(885,530,3,22);

      fill(0,80,0); rect(925,530,3,22);

       

     }  

    if ((mouseX>890) & (mouseX<925) & (mouseY>530) & (mouseY<552) )  

     {     

     zhlr=1;  

     fill(0,60,0); rect(845,530,3,22);

     fill(0,60,0); rect(885,530,3,22);

     fill(0,255,0); rect(925,530,3,22); 

     

     }

     

  }   

  if(flag1==1) {play(); delay(delayzeit);}

}

 

// ########################################################################## Fill Array with cells

void fillrandom()

 

{

  if (buttonflag==0)

  {    

  noStroke();

  fill(rot, gruen, blau);  

  rect(0,0,600,600); 

  for(n=0;n<=200;n++)

  {

            wert1 = random(399);

            wert2 = random(399);

            wert3=int(wert1); wert4=int(wert2);

            life[wert3][wert4] = k;

  }

  

 // Display Random-Values

 

  

  for(m=0;m<=399;m++)

    {

      for(n=0;n<=399;n++)

      {if(life[n][m]>0)

      {fill(100, 0, 255);rect(2+n,2*m,2,2);}

      }

    }

    

  buttonflag=1;

  }

}

 

// ###################################################################################### Play

 

void play()

{       

        

          // life[200][ 200] = k;

            for (m = 1 ; m<=398; m++)

             {

         

 

               for (n = 1 ; n<=398; n++)

               {

                  if (zweiarray==1)

                  {

                 

                    if (life[n][m] == k)  // Abfrage der Umgebung

                    {

                        life2 [n] [m] = life [n] [m];  // Wichtig!

                        

                        if ((zhlr==0) || (zhlr==10))

                        {

                        life2 [n+1] [m-1] = life [n+1] [m-1] + i;

                        if (life2 [n+1] [m-1]  > s) { life2 [n+1] [m-1]  = p;}

                        }

                        if ((zhlr==1) || (zhlr==10))

                        {

                        life2 [n+1] [m] = life [n+1] [m] + i;

                        if (life2[n+1] [m]  > s) { life2 [n+1] [m]  = p;}

                        }

                        if ((zhlr==0) || (zhlr==10))

                        {

                        life2 [n+1] [m+1] = life [n+1] [m+1] + i;

                        if (life2 [n+1] [m+1]  > s) { life2 [n+1] [m+1]  = p;}

                        }

                        if ((zhlr==1) || (zhlr==10))

                        {

                        life2 [n] [m+1] = life [n] [m+1] + i;

                        if (life2 [n] [m+1]  > s) { life2 [n] [m+1]  = p;}

                        }

                        if ((zhlr==0) || (zhlr==10))

                        {

                        life2 [n-1] [m+1] = life [n-1][m+1] + i;

                        if (life2 [n-1] [m+1]  > s) { life2 [n-1] [m+1]  = p;}

                        }

                        if ((zhlr==1) || (zhlr==10))

                        {

                        life2 [n-1] [m] = life [n-1] [m] + i;

                        if (life2 [n-1] [m]  > s) { life2 [n-1] [m]  = p;}

                        }

                         if ((zhlr==0) || (zhlr==10))  

                        {                                       

                        life2[n-1] [m-1] = life [n-1] [m-1] + i;

                        if (life2[n-1] [m-1]  > s) { life2 [n-1] [m-1]  = p;}

                        }

                        if ((zhlr==1) || (zhlr==10))

                        {

                        life2[n] [m-1] = life[n] [m-1] + i;

                        if (life2[n] [m-1]  > s) { life2[n] [m-1]  = p;  }

                        }

                      // ##################################################                                   

                       

                    }

                   

                    if ((life2[n][m] >=0) & (life2[n][m]<255))

                       {  

                          if(array4[n][m]!= life2[n][m]) // Ablaufbeschleunigung

                         {  

  

                          rot=Farbarray[life2[n][m]][0];

                          gruen=Farbarray[life2[n][m]][1];

                          blau=Farbarray[life2[n][m]][2];

                          noStroke();

                          fill(rot, gruen, blau);                                                 

                          rect( m * 2, n * 2, 2, 2);  

                         }

                     

                       } 

                        array4[n][m]= life2[n][m];

                      

                    }  // Ende if zweiarray = 0  

                         

                         

                  if (zweiarray==0)

                  {

                 

                    if (life[n][m] == k)  // Abfrage der Umgebung

                    {

                       

                       

                      

                        if ((zhlr2==0) || (zhlr2==10))

                        {

                        life [n+1] [m-1] = life [n+1] [m-1] + i;

                        if (life [n+1] [m-1]  > s) { life [n+1] [m-1]  = p;}

                        }

                      

                         if ((zhlr2==1) || (zhlr2==10))

                        {

                        life [n+1] [m] = life [n+1] [m] + i;

                        if (life[n+1] [m]  > s) { life [n+1] [m]  = p;}

                        }

                       

                          if ((zhlr2==0) || (zhlr2==10))

                        {

                        life [n+1] [m+1] = life [n+1] [m+1] + i;

                        if (life [n+1] [m+1]  > s) { life [n+1] [m+1]  = p;}

                        }

                        

                           if ((zhlr2==1) || (zhlr2==10))

                        {

                        life [n] [m+1] = life [n] [m+1] + i;

                        if (life [n] [m+1]  > s) { life [n] [m+1]  = p;}

                        }

                        

                        if ((zhlr2==0) || (zhlr2==10))

                        {

                        life [n-1] [m+1] = life [n-1][m+1] + i;

                        if (life [n-1] [m+1]  > s) { life [n-1] [m+1]  = p;}

                        }

                       

                          if ((zhlr2==1) || (zhlr2==10))

                        {

                        life [n-1] [m] = life [n-1] [m] + i;

                        if (life [n-1] [m]  > s) { life [n-1] [m]  = p;}

                        }

                       

                         

                            if ((zhlr2==0) || (zhlr2==10))

                        {                    

                        life[n-1] [m-1] = life [n-1] [m-1] + i;

                        if (life[n-1] [m-1]  > s) { life [n-1] [m-1]  = p;}

                        }

                        

                        

                        if ((zhlr2==1) || (zhlr2==10))

                        {

                        life[n] [m-1] = life[n] [m-1] + i;

                        if (life[n] [m-1]  > s) { life[n] [m-1]  = p;  }

                        }

                        

                       

    

                      // ##################################################                                   

                       

                    }

                   

                    if ((life[n][m] >=0) & (life[n][m]<255))

                       {  

                         if(array4[n][m]!= life[n][m]) // Ablaufbeschleunigung

                         {                       

                          rot=Farbarray[life[n][m]][0];

                          gruen=Farbarray[life[n][m]][1];

                          blau=Farbarray[life[n][m]][2];

                           noStroke();

                          fill(rot, gruen, blau);                                                 

                          rect( m * 2, n * 2, 2, 2);    

                         }       

                       } 

                        array4[n][m]= life[n][m];

                     }  // Ende if zweiarray = 0     

                         

                   } 

                 }  

                 

             

                if (track == 1)  // Spezialeffekt durch sich ständig verändernden k-Wert (Munitionsfaktor).

                        { 

                             cnt2 = cnt2 +1;

                             if (cnt2>50) 

                             { 

                              k= k + i;                           

                               noStroke(); fill(255); rect(1034,292,44,20);

                              fill(0); text("k = " + k, 1036,306); 

                              cnt2=0;

                              

                                                      

                             }

                             if (k>100) {k=i;}

                        }   

                       

                     if (zweiarray==1)

                     {  

                     for (m = 1 ; m<=399; m++)

                       {

                         for (n = 1 ; n<=399; n++)

                               { life[n][m]= life2[n][m];}    

                       

                       }

                     }  

   } 

 

// ######################################################################################## Reset

void reset()

 

  if (buttonflag==0)  

  {

    flag1=0;

   fill(0, 0, 0);

  rect(0,0,800,800); // Graphic display

  noStroke(); 

 

  for(m=0;m<=399;m++)

    {

      for(n=0;n<=399;n++)

      {

       life[n][m]=0; 

       life2[n][m]=0;

      }

    }

    buttonflag=1;

  }

}

 

 // #########################################################################################################

// ######                                                                                             ###### 

// ######                                           Farbarray                                         ###### 

// ######                                                                                             ###### 

// #########################################################################################################

   void fill_farbarray()

 

 {

   

    // Füllen des Farbarrays 

 

             for (n = 0; n<=3; n++)             {Farbarray[n][0] = 0 ; Farbarray[n][1] = 0 ; Farbarray[n][2] = 20 ;}

/* 2   */    for (n = 4; n<=7; n++)             {Farbarray[n][0] = 0 ; Farbarray[n][1] = 16 ; Farbarray[n][2] = 75 ;}

             for (n = 8; n<=11; n++)            {Farbarray[n][0] = 0 ; Farbarray[n][1] = 33 ; Farbarray[n][2] = 132 ;}

/* 4   */    for (n = 12; n<=15; n++)           {Farbarray[n][0] = 0 ; Farbarray[n][1] = 36 ; Farbarray[n][2] = 144 ;}

             for (n = 16; n<=19; n++)           {Farbarray[n][0] = 0 ; Farbarray[n][1] = 39 ; Farbarray[n][2] = 157 ;}

/* 6   */    for (n = 20; n<=23; n++)           {Farbarray[n][0] = 34 ; Farbarray[n][1] = 18 ; Farbarray[n][2] = 156 ;}

             for (n = 24; n<=27; n++)           {Farbarray[n][0] = 67 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 155 ;}

/* 8   */    for (n = 28; n<=31; n++)           {Farbarray[n][0] = 80 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 155 ;}

             for (n = 32; n<=35; n++)           {Farbarray[n][0] = 94 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 155 ;}

/* 10  */    for (n = 36; n<=39; n++)           {Farbarray[n][0] = 120 ; Farbarray[n][1] = 1 ; Farbarray[n][2] = 159 ;}

             for (n = 40; n<=43; n++)           {Farbarray[n][0] = 143 ; Farbarray[n][1] = 0 ; Farbarray[n][2] = 164 ;}

/* 12  */    for (n = 44; n<=47; n++)           {Farbarray[n][0] = 154 ; Farbarray[n][1] = 0 ; Farbarray[n][2] = 151 ;}

             for (n = 48; n<=51; n++)           {Farbarray[n][0] = 164 ; Farbarray[n][1] = 0 ; Farbarray[n][2] = 139 ;}

/* 14  */    for (n = 52; n<=55; n++)           {Farbarray[n][0] = 160 ; Farbarray[n][1] = 1 ; Farbarray[n][2] = 118 ;}

             for (n = 56; n<=59; n++)           {Farbarray[n][0] = 155 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 98 ;}

/* 16  */    for (n = 60; n<=63; n++)           {Farbarray[n][0] = 155 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 72 ;}

             for (n = 64; n<=67; n++)           {Farbarray[n][0] = 155 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 45 ;}

/* 18  */    for (n = 68; n<=71; n++)           {Farbarray[n][0] = 161 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 58 ;}

             for (n = 72; n<=75; n++)           {Farbarray[n][0] = 168 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 52 ;}

/* 20  */    for (n = 76; n<=79; n++)           {Farbarray[n][0] = 178 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 55 ;}

             for (n = 80; n<=83; n++)           {Farbarray[n][0] = 189 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 58 ;}

/* 22  */    for (n = 84; n<=87; n++)           {Farbarray[n][0] = 202 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 62 ;}

             for (n = 88; n<=91; n++)           {Farbarray[n][0] = 215 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 66 ;}

/* 24  */    for (n = 92; n<=95; n++)           {Farbarray[n][0] = 222 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 68 ;}

             for (n = 96; n<=99; n++)           {Farbarray[n][0] = 230 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 70 ;}

/* 26  */    for (n = 100; n<=103; n++)         {Farbarray[n][0] = 241 ; Farbarray[n][1] = 2 ; Farbarray[n][2] = 48 ;}

             for (n = 104; n<=107; n++)         {Farbarray[n][0] = 252 ; Farbarray[n][1] = 1 ; Farbarray[n][2] = 27 ;}

/* 28  */    for (n = 108; n<=111; n++)         {Farbarray[n][0] = 252 ; Farbarray[n][1] = 28 ; Farbarray[n][2] = 14 ;}

             for (n = 112; n<=115; n++)         {Farbarray[n][0] = 252 ; Farbarray[n][1] = 57 ; Farbarray[n][2] = 1 ;}

/* 30  */    for (n = 116; n<=119; n++)         {Farbarray[n][0] = 250 ; Farbarray[n][1] = 42 ; Farbarray[n][2] = 2 ;}

             for (n = 120; n<=123; n++)         {Farbarray[n][0] = 249 ; Farbarray[n][1] = 27 ; Farbarray[n][2] = 2 ;}

/* 32  */    for (n = 124; n<=127; n++)         {Farbarray[n][0] = 248 ; Farbarray[n][1] = 46 ; Farbarray[n][2] = 2 ;}

             for (n = 128; n<=131; n++)         {Farbarray[n][0] = 248 ; Farbarray[n][1] = 65 ; Farbarray[n][2] = 3 ;}

/* 34  */    for (n = 132; n<=135; n++)         {Farbarray[n][0] = 250 ; Farbarray[n][1] = 82 ; Farbarray[n][2] = 2 ;}

             for (n = 136; n<=139; n++)         {Farbarray[n][0] = 252 ; Farbarray[n][1] = 101 ; Farbarray[n][2] = 1 ;}

/* 36  */    for (n = 140; n<=143; n++)         {Farbarray[n][0] = 252 ; Farbarray[n][1] = 122 ; Farbarray[n][2] = 1 ;}

             for (n = 144; n<=147; n++)         {Farbarray[n][0] = 252 ; Farbarray[n][1] = 146 ; Farbarray[n][2] = 1 ;}

/* 38  */    for (n = 148; n<=151; n++)         {Farbarray[n][0] = 253 ; Farbarray[n][1] = 160 ; Farbarray[n][2] = 0 ;}

             for (n = 152; n<=155; n++)         {Farbarray[n][0] = 253 ; Farbarray[n][1] = 177 ; Farbarray[n][2] = 0 ;}

/* 40  */    for (n = 156; n<=159; n++)         {Farbarray[n][0] = 255 ; Farbarray[n][1] = 186 ; Farbarray[n][2] = 26 ;}

             for (n = 160; n<=163; n++)         {Farbarray[n][0] = 255 ; Farbarray[n][1] = 194 ; Farbarray[n][2] = 53 ;}

/* 42  */    for (n = 164; n<=167; n++)         {Farbarray[n][0] = 254 ; Farbarray[n][1] = 207 ; Farbarray[n][2] = 40 ;}

             for (n = 168; n<=171; n++)         {Farbarray[n][0] = 254 ; Farbarray[n][1] = 220 ; Farbarray[n][2] = 27 ;}

/* 44  */    for (n = 172; n<=175; n++)         {Farbarray[n][0] = 254 ; Farbarray[n][1] = 234 ; Farbarray[n][2] = 40 ;}

             for (n = 176; n<=179; n++)         {Farbarray[n][0] = 254 ; Farbarray[n][1] = 248 ; Farbarray[n][2] = 53 ;}

/* 46  */    for (n = 180; n<=183; n++)         {Farbarray[n][0] = 254 ; Farbarray[n][1] = 248 ; Farbarray[n][2] = 43 ;}

             for (n = 184; n<=187; n++)         {Farbarray[n][0] = 252 ; Farbarray[n][1] = 248 ; Farbarray[n][2] = 14 ;}

/* 48  */    for (n = 188; n<=191; n++)         {Farbarray[n][0] = 240 ; Farbarray[n][1] = 249 ; Farbarray[n][2] = 50 ;}

             for (n = 192; n<=195; n++)         {Farbarray[n][0] = 235 ; Farbarray[n][1] = 249 ; Farbarray[n][2] = 50 ;}

/* 50  */    for (n = 196; n<=199; n++)         {Farbarray[n][0] = 230 ; Farbarray[n][1] = 249 ; Farbarray[n][2] = 50 ;}

             for (n = 200; n<=203; n++)         {Farbarray[n][0] = 225 ; Farbarray[n][1] = 249 ; Farbarray[n][2] = 60 ;}

/* 52  */    for (n = 204; n<=207; n++)         {Farbarray[n][0] = 220 ; Farbarray[n][1] = 249 ; Farbarray[n][2] = 70 ;}

             for (n = 208; n<=211; n++)         {Farbarray[n][0] = 215 ; Farbarray[n][1] = 245 ; Farbarray[n][2] = 70 ;}

/* 54  */    for (n = 212; n<=215; n++)         {Farbarray[n][0] = 210 ; Farbarray[n][1] = 245 ; Farbarray[n][2] = 80 ;}

             for (n = 216; n<=219; n++)         {Farbarray[n][0] = 210 ; Farbarray[n][1] = 251 ; Farbarray[n][2] = 89 ;}

/* 56  */    for (n = 220; n<=223; n++)         {Farbarray[n][0] = 222 ; Farbarray[n][1] = 252 ; Farbarray[n][2] = 105 ;}

             for (n = 224; n<=227; n++)         {Farbarray[n][0] = 226 ; Farbarray[n][1] = 253 ; Farbarray[n][2] = 121 ;}

/* 58  */    for (n = 228; n<=231; n++)         {Farbarray[n][0] = 230 ; Farbarray[n][1] = 253 ; Farbarray[n][2] = 138 ;}

             for (n = 232; n<=235; n++)         {Farbarray[n][0] = 233 ; Farbarray[n][1] = 253 ; Farbarray[n][2] = 151 ;}

/* 60  */    for (n = 236; n<=239; n++)         {Farbarray[n][0] = 236 ; Farbarray[n][1] = 253 ; Farbarray[n][2] = 170 ;}

             for (n = 240; n<=243; n++)         {Farbarray[n][0] = 241 ; Farbarray[n][1] = 254 ; Farbarray[n][2] = 214 ;}

/* 62  */    for (n = 244; n<=247; n++)         {Farbarray[n][0] = 245 ; Farbarray[n][1] = 254 ; Farbarray[n][2] = 214 ;}

             for (n = 248; n<=251; n++)         {Farbarray[n][0] = 247 ; Farbarray[n][1] = 254 ; Farbarray[n][2] = 222 ;} 

/* 64  */    for (n = 252; n<=255; n++)         {Farbarray[n][0] = 255 ; Farbarray[n][1] = 0 ; Farbarray[n][2] = 255 ;} 

         

   

 }