Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }