Пример #1
0
        public Player(int starPosNumber, int fieldSize)
        {
            switch (starPosNumber)
            {
            case 1:
            {
                Position = new PositionOnThePlane(0, 0);
            }
            break;

            case 2:
            {
                Position = new PositionOnThePlane(0, fieldSize - 1);
            }
            break;

            case 3:
            {
                Position = new PositionOnThePlane(fieldSize - 1, 0);
            }
            break;

            case 4:
            {
                Position = new PositionOnThePlane(fieldSize - 1, fieldSize - 1);
            }
            break;
            }
        }
Пример #2
0
        public Game(int starPosNumber, int fieldSize, int trapsNumber)
        {
            _fieldSize   = fieldSize;
            _trapsNumber = trapsNumber;
            int    count = 0;
            Random rnd   = new Random();

            _field          = new int[_fieldSize, _fieldSize];
            _player         = new Player(starPosNumber, _fieldSize);
            _finishPosition = new PositionOnThePlane(fieldSize - 1 - _player.Position.X, fieldSize - 1 - _player.Position.Y);

            for (int i = 0; i < fieldSize; i++)
            {
                for (int j = 0; j < fieldSize; j++)
                {
                    PositionOnThePlane temp = new PositionOnThePlane(i, j);
                    if (count < _trapsNumber && _player.Position != temp & _finishPosition != temp)
                    {
                        _field[i, j] = rnd.Next(0, 11);
                        if (_field[i, j] > 0)
                        {
                            count++;
                        }
                    }
                    else
                    {
                        _field[i, j] = 0;
                    }
                }
            }
        }
        // Написал эти методы хотя и не использую их, т.к. вылетало предупреждение.
        public override bool Equals(object obj)
        {
            if (obj.GetType() != this.GetType())
            {
                return(false);
            }

            PositionOnThePlane position = (PositionOnThePlane)obj;

            return(this.X == position.X && this.Y == position.Y);
        }