public List <string> GetFieldInStringList() { List <string> lines = new List <string>(); StringBuilder stringBuilder = new StringBuilder(); DrawingSymbols drawingSymbols = new DrawingSymbols(); for (int i = 0; i < GameField.Heigth; i++) { for (int j = 0; j < GameField.Width; j++) { if (GameField.Animals[i, j] != null) { stringBuilder.Append(GameField.Animals[i, j].Sign); } else { stringBuilder.Append(drawingSymbols.EmptySpace); } stringBuilder.Append(drawingSymbols.EmptySpace); } lines.Add(stringBuilder.ToString()); stringBuilder.Clear(); } return(lines); }
public List <IDrawingPoint> GetPointsToRedraw() { List <IDrawingPoint> pointsToRedraw = new List <IDrawingPoint>(); if (PreviousField.Width == 0) { PreviousField = new Field() { Width = _field.Width, Heigth = _field.Heigth, Animals = new IAnimal[_field.Heigth, _field.Width], }; for (int i = 0; i < _field.Heigth; i++) { for (int j = 0; j < _field.Width; j++) { PreviousField.Animals[i, j] = _field.Animals[i, j]; } } } for (int i = 0; i < _field.Heigth; i++) { for (int j = 0; j < _field.Width; j++) { if (_field.Animals[i, j] != PreviousField.Animals[i, j]) { Point pointToDraw = new Point(j, i); DrawingSymbols drawingSymbols = new DrawingSymbols(); if (_field.Animals[i, j] == null) { PreviousField.Animals[i, j] = null; pointsToRedraw.Add(new DrawingPoint(pointToDraw, drawingSymbols.EmptySpace)); } else { PreviousField.Animals[i, j] = _field.Animals[i, j]; pointsToRedraw.Add(new DrawingPoint(pointToDraw, _field.Animals[i, j].Sign)); } } } } return(pointsToRedraw); }