using System; namespace ConsoleApplication1 { public class TestGrid { private int[,] grid; private int[,] newgrid; public int[,] InitGrid() { grid = new int[4, 4]; newgrid = new int[4, 4]; Console.WriteLine("Das Spielfeld hat die Größe {0} x {1}!", 4, 4); return grid; } public void FillGrid() //Befüllung des "ersten" Spielfelds { //grid[0, 0] = 1; //grid[0, 1] = 0; //grid[0, 2] = 0; //grid[0, 3] = 1; //grid[1, 0] = 1; //grid[1, 1] = 1; //grid[1, 2] = 0; //grid[1, 3] = 1; //grid[2, 0] = 0; //grid[2, 1] = 0; //grid[2, 2] = 1; //grid[2, 3] = 1; //grid[3, 0] = 1; //grid[3, 1] = 0; //grid[3, 2] = 1; //grid[3, 3] = 1; grid[0, 0] = 1; grid[0, 1] = 1; grid[0, 2] = 1; grid[0, 3] = 0; grid[1, 0] = 1; grid[1, 1] = 1; grid[1, 2] = 0; grid[1, 3] = 1; grid[2, 0] = 1; grid[2, 1] = 0; grid[2, 2] = 0; grid[2, 3] = 0; grid[3, 0] = 0; grid[3, 1] = 1; grid[3, 2] = 1; grid[3, 3] = 1; int test = grid[3, 3]; for (int height = 0; height < 4; height++) { for (int length = 0; length < 4; length++) { if (grid[height, length] == 1) { Console.Write("X"); } else { Console.Write("O"); } } Console.WriteLine(); } Console.ReadKey(); } public int NeighborCheck(int height, int length, int varHeight, int varLength) // Checken, ob Nachbarn leben & ob Nachbarn im Feld sind { int result = 0; int checkHeight = height + varHeight; int checkLength = length + varLength; if (IsCheckPositionInGrid(checkHeight, checkLength)) { result = grid[checkHeight, checkLength]; } return result; } private bool IsCheckPositionInGrid(int checkHeight, int checkLength) { return (checkHeight >= 0 && checkHeight < 4) && (checkLength >= 0 && checkLength < 4); } public void NewGeneration() // Neue Generation des Spiels erstellen { for (int i = 2; i < 100; i++) { Console.WriteLine(i + ". Generation"); for (int height = 0; height < 4; height++) { for (int length = 0; length < 4; length++) { int neighborsAlive = NeighborCheck(height, length, 0, 1) + NeighborCheck(height, length, 0, -1) + NeighborCheck(height, length, 1, -1) + NeighborCheck(height, length, 1, 0) + NeighborCheck(height, length, 1, 1) + NeighborCheck(height, length, -1, -1) + NeighborCheck(height, length, -1, 0) + NeighborCheck(height, length, -1, 1); int isAlive = grid[height, length]; if (isAlive == 1) { if (neighborsAlive == 2 || neighborsAlive == 3) { newgrid[height, length] = 1; Console.Write("X"); } else { newgrid[height, length] = 0; Console.Write("O"); } } else { if (neighborsAlive == 3) { newgrid[height, length] = 1; Console.Write("X"); } else { newgrid[height, length] = 0; Console.Write("O"); } } } Console.WriteLine(); } Console.ReadKey(); grid = newgrid; } } } }