All pastes #507726 Raw Edit

Unnamed

public cpp v1 · immutable
·published 2007-05-24 18:29 UTC
rendered paste body
//---------------------------------------------------------------------------#include <vcl.h>#pragma hdrstop#include "auto.h"#include <time.h>//---------------------------------------------------------------------------#pragma package(smart_init)#pragma resource "*.dfm"TForm1 *Form1;//---------------------------------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner)        : TForm(Owner){}//---------------------------------------------------------------------------int sasiedzi(int x, int a, int b)       // x - stan; a - wsp x; b - wsp y{int stan = 0;                if (Tablica[a-1][b-1]==x)  stan++;                if (Tablica[a-1][b]==x) stan++;                if (Tablica[a-1][b+1]==x) stan++;                if (Tablica[a][b+1]==x) stan++;                if (Tablica[a+1][b+1]==x) stan++;                if (Tablica[a+1][b]==x) stan++;                if (Tablica[a+1][b-1]==x) stan++;                if (Tablica[a][b-1]==x) stan++;                return stan;}//---------------------------------------------------------------------------void przepisz(){for (int i=0; i<60; i++)   {for (int j=0; j<60; j++)        {        Tablica[i][j]=Tablicab[i][j];        }   }}//---------------------------------------------------------------------------void __fastcall TForm1::Panel1Click(TObject *Sender){ColorDialog1->Execute();Panel1->Color = ColorDialog1->Color;}//---------------------------------------------------------------------------void __fastcall TForm1::Panel2Click(TObject *Sender){ColorDialog1->Execute();Panel2->Color = ColorDialog1->Color;}//---------------------------------------------------------------------------void __fastcall TForm1::Panel3Click(TObject *Sender){ColorDialog1->Execute();Panel3->Color = ColorDialog1->Color;}//---------------------------------------------------------------------------/* void __fastcall TForm1::Button3Click(TObject *Sender){StringGrid1->RowCount = Edit1->Text.ToInt();StringGrid1->ColCount = Edit2->Text.ToInt();StringGrid1->Width = Edit1->Text.ToInt()*10+Edit1->Text.ToInt()+4;StringGrid1->Height = Edit2->Text.ToInt()*10+Edit1->Text.ToInt()+4;}  *///---------------------------------------------------------------------------void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, int ACol,      int ARow, bool &CanSelect){Label2->Caption = String(ACol+1);Label4->Caption = String(ARow+1);if (RadioButton1->Checked == True){          StringGrid1->Canvas->Brush->Color = Panel1->Color;          StringGrid1->Canvas->FillRect(Rect(10*ACol+ACol,10*ARow+ARow,10*ACol+ACol+10,10*ARow+ARow+10));          Tablica[ACol][ARow]=1;}if (RadioButton2->Checked == True){          StringGrid1->Canvas->Brush->Color = Panel2->Color;          StringGrid1->Canvas->FillRect(Rect(10*ACol+ACol,10*ARow+ARow,10*ACol+ACol+10,10*ARow+ARow+10));          Tablica[ACol][ARow]=0 ;          }if (RadioButton3->Checked == True){          StringGrid1->Canvas->Brush->Color = Panel3->Color;          StringGrid1->Canvas->FillRect(Rect(10*ACol+ACol,10*ARow+ARow,10*ACol+ACol+10,10*ARow+ARow+10));          Tablica[ACol][ARow]=2 ;          }}//---------------------------------------------------------------------------void __fastcall TForm1::FormCreate(TObject *Sender){int i=0, j=0;for (j=0; j<60;j++){        for (i=0; i<60;i++)                {                Tablica[i][j] = 0 ;                }}}//---------------------------------------------------------------------------void __fastcall TForm1::Button2Click(TObject *Sender){int i=0;int j=0;int nic = 0;if (ComboBox1->ItemIndex == 0) {                // je&#347;li zaznaczono Inwazjefor (i=0; i<60;i++)   {for (j=0; j<60;j++)        {        if (Tablica[i][j] == 1)                 // jesli komórka jest aktywna                {                if (sasiedzi(1, i, j) >= 3 || sasiedzi(2, i, j) >= 3)  // i ma przynajmniej 3 aktywnych lub 3 subaktywnych sasiadow                        {                          Tablicab[i][j] = 2;              //to staje sie subaktywna                          continue;                        }                        else nic++;                     // jesli warunek nie spe&#322;niony to zwi&#281;ksz licznik                if (sasiedzi(1, i, j) >= 1 && sasiedzi(1, i, j) <= 2 || sasiedzi(2, i, j) >= 1 && sasiedzi(2, i, j) <= 2) // je&#347;li komórka jest aktywna i ma od 1-2 aktywnych lub subaktywnych sasiadów                        {                          Tablicab[i][j] = 1;             // to ma zost&#263; aktywna                          continue;                        }                        else nic++;                    // jesli warunek nie spe&#322;niony to zwi&#281;ksz licznik                }       if (Tablica[i][j] == 0)                 // jesli komórka jest NIEaktywna                {                if (sasiedzi(1, i, j) >= 3 || sasiedzi(2, i, j) >= 3)  //i ma co najmniej 3 aktywnych lub subaktywnych sasiadów                        {                          Tablicab[i][j] = 1;             // to staje sie aktywna                          continue;                        }                else nic++;                    // jesli warunek nie spe&#322;niony to zwi&#281;ksz licznik                }       if (nic == 3)                Tablicab[i][j] = 0;              // W innych przypadkach staje si&#281; nieaktywna.                nic = 0;        }   }Button4->Click();}   // zamkniety if - wybor dzialania//=====================================if (ComboBox1->ItemIndex == 1){                               // je&#347;li zaznaczono Marszfor (int i=0; i<60;i++)   {for (int j=0; j<60;j++)        {        if (Tablica[i][j] == 1)                 // jesli komórka jest aktywna                {                if (sasiedzi(1, i, j) >= 4)    // i ma przynajmniej 4 aktywnych s&#261;siadów                        {                          Tablicab[i][j] = 0;            // ma sie stac nieaktywna                          continue;                        }                else nic++;                }        if (Tablica[i][j] == 0)                 // je&#347;li komórka jest nieaktywna                {                if (sasiedzi(1, i, j) == 2)   //i ma dwóch aktywnych s&#261;siadów                        {                          Tablicab[i][j] = 1; // to staje sie aktywna                          continue;                        }                else nic++;                }        if (sasiedzi(1, i, j) == 3)       //je&#347;li komórka ma 3 aktywnych s&#261;siadów                        {                          Tablicab[i][j] = 1; // to staje sie aktywna                          continue;                        }                else nic++;        if (nic == 3)                        {                          Tablicab[i][j] = 0;              // W innych przypadkach staje si&#281; nieaktywna.                          continue;                        }        nic = 0;        }   // zamyka for 2   } // zamyka for 1  Button4->Click();    //odrysuj plansze  } // zamyka warunek wyboru dzialania//=====================================if (ComboBox1->ItemIndex == 2){                               // je&#347;li zaznaczono Zyciefor (int i=0; i<60;i++)   {for (int j=0; j<60;j++)        {        if (Tablica[i][j] == 1 || Tablica[i][j] == 0)        // jesli komórka jest aktywna lub nie                {                if (sasiedzi(1, i, j) == 3)    // i ma 3 aktywnych sasiadow                        {                          Tablicab[i][j] = 1; // to staje sie aktywna                          continue;                        }                    else nic++;                 }        if (Tablica[i][j] == 1)        // jesli komórka jest aktywna                {                if (sasiedzi(1, i, j) == 2)    // i ma 2 aktywnych sasiadow                        {                          Tablicab[i][j] = 1; // to staje sie aktywna                          continue;                        }                    else nic++;                 }         if (nic == 2)                        {                           Tablicab[i][j] = 0; // to staje sie martwa                            continue;                        }                        nic = 0;          }  // zamyka for 2   }   // zamyka for 1   Button4->Click();    //odrysuj plansze}  // zamyka ifa wyboru dzialania}  // konczacy//---------------------------------------------------------------------------void __fastcall TForm1::Button4Click(TObject *Sender){int i=0;int j=0;for (i=0; i<60;i++){for (j=0; j<60;j++)   {        if (Tablicab[i][j] == 1)        {        StringGrid1->Canvas->Brush->Color = Panel1->Color;        StringGrid1->Canvas->FillRect(Rect(10*i+i,10*j+j,10*i+i+10,10*j+j+10));        }        if (Tablicab[i][j] == 0)        {        StringGrid1->Canvas->Brush->Color = Panel2->Color;        StringGrid1->Canvas->FillRect(Rect(10*i+i,10*j+j,10*i+i+10,10*j+j+10));        }         if (Tablicab[i][j] == 2)        {        StringGrid1->Canvas->Brush->Color = Panel3->Color;        StringGrid1->Canvas->FillRect(Rect(10*i+i,10*j+j,10*i+i+10,10*j+j+10));        }   }}przepisz();        }//---------------------------------------------------------------------------void __fastcall TForm1::Button5Click(TObject *Sender){int i=0, j=0;randomize();if (ComboBox1->ItemIndex == 1 || ComboBox1->ItemIndex == 2){for (j=0; j<60;j++){        for (i=0; i<60;i++)                {                int rand = random(2);                Tablicab[i][j] = rand ;                }}}if (ComboBox1->ItemIndex == 0){for (j=0; j<60;j++){        for (i=0; i<60;i++)                {                int rand = random(3);                Tablicab[i][j] = rand ;                }}}Button4->Click();przepisz();}//---------------------------------------------------------------------------void __fastcall TForm1::ComboBox1Change(TObject *Sender){if (ComboBox1->ItemIndex == 1 || ComboBox1->ItemIndex == 2)        {        Label7->Enabled = False;        Panel3->Enabled = False;        RadioButton3->Enabled = False;        }        else        {        Label7->Enabled = True;        Panel3->Enabled = True;        RadioButton3->Enabled = True;        }}//---------------------------------------------------------------------------void __fastcall TForm1::Button1Click(TObject *Sender){int i=0, j=0;for (j=0; j<60;j++){        for (i=0; i<60;i++)                {                Tablicab[i][j] = 0 ;                }}Button4->Click();}//---------------------------------------------------------------------------void __fastcall TForm1::Button3Click(TObject *Sender){Form1->Close();}//---------------------------------------------------------------------------