예제 #1
0
        private static Plansza Aktualizuj(Plansza plansza, Sasiedzi sasiedzi)
        {
            sasiedzi.Aktualizuj();

            for (int x = 0; x < plansza.Szerokosc; x++)
            {
                for (int y = 0; y < plansza.Dlugosc; y++)
                {
                    int liczbaSasiadow = sasiedzi.ZywiSasiedzi(x, y);
                    if (!plansza.CzyZyje(x, y))
                    {
                        if (liczbaSasiadow == 3)
                        {
                            plansza.Ozyj(x, y);
                        }
                    }
                    else
                    {
                        if (liczbaSasiadow == 2 || liczbaSasiadow == 3)
                        {
                            plansza.Ozyj(x, y);
                        }
                        else
                        {
                            plansza.Usmierc(x, y);
                        }
                    }
                }
            }

            return(plansza);
        }
예제 #2
0
 public Sasiedzi(Plansza plansza)
 {
     sasiedzi = new int[plansza.Dlugosc][];
     for (int i = 0; i < plansza.Dlugosc; i++)
     {
         sasiedzi[i] = new int[plansza.Szerokosc];
     }
     this.plansza = plansza;
 }
예제 #3
0
 private static void Rysuj(Plansza plansza)
 {
     Console.Clear();
     for (int y = 0; y < plansza.Dlugosc; y++)
     {
         for (int x = 0; x < plansza.Szerokosc; x++)
         {
             Console.Write(plansza.Pobierz(x, y));
         }
     }
 }
예제 #4
0
        static void Main(string[] args)
        {
            Plansza  plansza  = new Plansza(80, 24);
            Sasiedzi sasiedzi = new Sasiedzi(plansza);

            plansza.Zaludnij(500);

            while (true)
            {
                Rysuj(plansza);
                System.Threading.Thread.Sleep(100);
                Aktualizuj(plansza, sasiedzi);
            }
        }