public bool ShouldChangeState(SeatDay11 seat, int neighbours)
        {
            if (neighbours >= 4 && seat.IsOccupied())
            {
                return(true);
            }

            else if (neighbours == 0 && seat.IsEmpty())
            {
                return(true);
            }

            return(false);
        }
예제 #2
0
        protected SeatDay11[,] ProcessInputToArray()
        {
            var path   = PuzzleUtils.PuzzleInputsPath;
            var input  = FileReader.ReadFile(path, inputFileileName, fileExt);
            var width  = input[0].Trim().Length;
            var height = input.Count;

            var seats = new SeatDay11[height, width];

            for (int i = 0; i < height; i++)
            {
                for (int j = 0; j < width; j++)
                {
                    seats[i, j] = new SeatDay11(input[i].Trim()[j]);
                }
            }

            return(seats);
        }