示例#1
0
        private void UpdateTurtleStatus()
        {
            var currentTile = _mineField[_location.X, _location.Y];

            if (currentTile == BoardTileEnum.Exit)
            {
                _status = TurtleStatusEnum.Success;
                return;
            }
            if (currentTile == BoardTileEnum.Mine)
            {
                _status = TurtleStatusEnum.MineHit;
                return;
            }
            _status = TurtleStatusEnum.Danger;
        }
示例#2
0
 public TurtleGame(LocationData boardSetting, DirectionEnum initialDirection, LocationData exitLocation, LocationData startlocation, LocationData[] mineLocations)
 {
     _boardSetting     = boardSetting.Copy();
     _mineField        = new BoardTileEnum[boardSetting.X, boardSetting.Y];
     _initialDirection = initialDirection;
     _direction        = initialDirection;
     _location         = startlocation.Copy();
     _startLocation    = startlocation.Copy();
     _status           = TurtleStatusEnum.Danger;
     XLowerBoundary    = 0;
     YLowerBoundary    = 0;
     XUpperBoundary    = boardSetting.X - 1;
     YUpperBoundary    = boardSetting.Y - 1;
     _mineField[exitLocation.X, exitLocation.Y] = BoardTileEnum.Exit;
     foreach (var mineLocation in mineLocations)
     {
         _mineField[mineLocation.X, mineLocation.Y] = BoardTileEnum.Mine;
     }
 }
示例#3
0
 private void ResetTurtle()
 {
     _status    = TurtleStatusEnum.Danger;
     _location  = _startLocation.Copy();
     _direction = _initialDirection;
 }