Пример #1
0
        public bool TryAddFigure(ILiveFigureGizmo figureGizmo)
        {
            if (figureGizmo.IsEmptyGizmo)
            {
                throw new ArgumentException("figureGizmo has empty figure");
            }
            if (figureGizmo.Width > this.Width)
            {
                throw new ArgumentException("figureGizmo width must be greater than gamefield width");
            }
            if (figureGizmo.Height > this.Height)
            {
                throw new ArgumentException("figureGizmo height must be greater than gamefield height");
            }

            var center = new Point(Width / 2.0, figureGizmo.Height / 2.0);

            figureGizmo.MoveTo(center);

            if (IsOverlay(figureGizmo))
            {
                return(false);
            }

            _activeFigureGizmoProxy.Image = figureGizmo;

            return(true);
        }
Пример #2
0
        public Color?[][] TryAddFigure_ByDefault_AddFigureToTheCenterTop(int width, int height, ILiveFigureGizmo figureGizmo)
        {
            var gameField = GetGameField(width, height);
            var canAdd    = gameField.TryAddFigure(figureGizmo);

            Assert.IsTrue(canAdd);

            var res = gameField.GetField();

            return(res);
        }
Пример #3
0
 private void MoveFigure(ILiveFigureGizmo figure, Vector vector)
 {
     figure.Move(vector);
 }
Пример #4
0
 public FigureGizmoProxy(ILiveFigureGizmo image)
 {
     Image   = image ?? throw new ArgumentNullException();
     _center = Image.Center;
     _angle  = Image.Angle;
 }