Esempio n. 1
0
        public void InitializeGame(GameSettings gameSettings)
        {
            Turtle turtle = new Turtle();

            Position startPosition = Position.CreatePosition(gameSettings.StartPoint.X, gameSettings.StartPoint.Y);
            Position exitPosition  = Position.CreatePosition(gameSettings.ExitPoint.X, gameSettings.ExitPoint.Y);

            var minePoints = gameSettings.MinePoints.Select(x => Position.CreatePosition(x.X, x.Y)).ToList();

            Board board = new Board();

            List <Position> boardPositionList = new List <Position>();

            for (int x = 0; x < gameSettings.BoardSize.X; x++)
            {
                for (int y = 0; y < gameSettings.BoardSize.Y; y++)
                {
                    var position = Position.CreatePosition(x, y);

                    if (minePoints.Any(x => x.Equals(position)))
                    {
                        position.SetMine();
                    }

                    boardPositionList.AddIfNotExists(position);
                }
            }

            board.BoardPosition = boardPositionList;

            board.SetStartPosition(startPosition);

            board.SetExitPosition(exitPosition);

            board.BoardPosition = boardPositionList;

            turtle.SetInitialPosition(startPosition, gameSettings.StartDirection);

            board.Turtle = turtle;

            Board = board;
        }