Esempio n. 1
0
 public Node(int x, int y, bool walkable, DirectionMovement direction)
 {
     X         = x;
     Y         = y;
     Walkable  = walkable;
     Direction = direction;
 }
Esempio n. 2
0
        private void MoveHead(DirectionMovement direction)
        {
            if (direction == DirectionMovement.Up)
            {
                Head = new Position()
                {
                    X = Head.X, Y = Head.Y - 1
                };
            }
            else if (direction == DirectionMovement.Left)
            {
                Head = new Position()
                {
                    X = Head.X - 1, Y = Head.Y
                };
            }
            else if (direction == DirectionMovement.Down)
            {
                Head = new Position()
                {
                    X = Head.X, Y = Head.Y + 1
                };
            }
            else if (direction == DirectionMovement.Right)
            {
                Head = new Position()
                {
                    X = Head.X + 1, Y = Head.Y
                };
            }
            ;

            _map.Board[Head.X, Head.Y] = Map.SnakeHead;
        }
Esempio n. 3
0
 public Enemy(Point tail, int lenght, DirectionMovement _direction)
 {
     direction = _direction;
     pList     = new List <Point>();
     for (int i = 0; i < lenght; i++)
     {
         Point p = tail;
         Move(i, direction);
         pList.Add(p);
     }
 }
Esempio n. 4
0
        public Node(Node node, Node parent, DirectionMovement direction)
        {
            var type = node.GetType();

            foreach (var item in type.GetProperties())
            {
                item.SetValue(this, item.GetValue(node));
            }
            ParentNode = parent;
            Direction  = direction;
        }
Esempio n. 5
0
        public void Move(DirectionMovement direction)
        {
            if (_hasTails)
            {
                ClearTail();
            }
            else
            {
                ClearHead();
            }

            MoveHead(direction);
        }
        public void StopMoveToDirection(DirectionMovement direction)
        {
            switch (direction)
            {
            case DirectionMovement.UP:
                _moveUp = false;
                break;

            case DirectionMovement.DOWN:
                _moveDown = false;
                break;

            case DirectionMovement.LEFT:
                _moveLeft = false;
                break;

            case DirectionMovement.RIGHT:
                _moveRight = false;
                break;
            }
        }
Esempio n. 7
0
    public void MoveCameraWhenDragChild(DirectionMovement directionMovement, float speed)
    {
        switch (directionMovement)
        {
        case DirectionMovement.Up:
            _rigidbody2D.velocity += Vector2.up * speed;
            break;

        case DirectionMovement.Down:
            _rigidbody2D.velocity += Vector2.down * speed;
            break;

        case DirectionMovement.Left:
            _rigidbody2D.velocity += Vector2.left * speed;
            break;

        case DirectionMovement.Right:
            _rigidbody2D.velocity += Vector2.right * speed;
            break;
        }
    }
Esempio n. 8
0
        private void ReadMovement()
        {
            var key = Console.ReadKey(true);

            if (key.Key == ConsoleKey.A)
            {
                _directionMovement = DirectionMovement.Left;
            }
            else if (key.Key == ConsoleKey.W)
            {
                _directionMovement = DirectionMovement.Up;
            }
            else if (key.Key == ConsoleKey.S)
            {
                _directionMovement = DirectionMovement.Down;
            }
            else if (key.Key == ConsoleKey.D)
            {
                _directionMovement = DirectionMovement.Right;
            }
        }
Esempio n. 9
0
        public override void Move(int offset, DirectionMovement direction)
        {
            int x1 = point.x;
            int y1 = point.y;

            if (direction == DirectionMovement.Right)
            {
                x1 = x1 + offset;
            }
            else if (direction == DirectionMovement.Left)
            {
                x1 = x1 - offset;
            }
            else if (direction == DirectionMovement.Up)
            {
                y1 = y1 - offset;
            }
            else if (direction == DirectionMovement.Down)
            {
                y1 = y1 + offset;
            }
            // switch (direction)
            // {
            //    case DirectionMovement.Right:
            //       MoveEnemy(1, 0, point);
            //       break;
            //    case DirectionMovement.Left:
            //       MoveEnemy(-1, 0, point);
            //       break;
            //    case DirectionMovement.Up:
            //       MoveEnemy(0, -1, point);
            //       break;
            //    case DirectionMovement.Down:
            //       MoveEnemy(0, 1, point);
            //       break;
            //    default:
            //       break;
            // }
        }
Esempio n. 10
0
        public override void Move(int of, DirectionMovement direction)
        {
            int x = 15;
            int y = 15;

            Console.SetCursorPosition(x, y);
            Console.Write("*");
            do
            {
                switch (Console.ReadKey().Key)
                {
                case ConsoleKey.UpArrow:
                    y--;
                    break;

                case ConsoleKey.DownArrow:
                    y++;
                    break;

                case ConsoleKey.LeftArrow:
                    x--;
                    break;

                case ConsoleKey.RightArrow:
                    x++;
                    break;

                case ConsoleKey.Escape:
                    return;

                default: break;
                }
                Console.Clear();
                Console.SetCursorPosition(x, y);
                Console.Write("*");
            } while (true);
        }
Esempio n. 11
0
 internal void Eat(DirectionMovement direction)
 {
     ClearHead();
     MoveHead(direction);
     _hasTails = true;
 }
Esempio n. 12
0
 abstract public void Move(int offset, DirectionMovement direction);
Esempio n. 13
0
        public Node GetDirectionNode(Node node, DirectionMovement direction, bool ByRef = true, bool valid = true)
        {
            var  x       = node.X;
            var  y       = node.Y;
            Node newnode = null;

            switch (direction)
            {
            case DirectionMovement.Up:
                if (IsWalkableAt(y - 1, x) || (!valid && IsInside(y - 1, x)))
                {
                    newnode = Nodes[y - 1, x];
                }
                break;

            case DirectionMovement.Down:
                if (IsWalkableAt(y + 1, x) || (!valid && IsInside(y + 1, x)))
                {
                    newnode = Nodes[y + 1, x];
                }
                break;

            case DirectionMovement.Left:
                if (IsWalkableAt(y, x - 1) || (!valid && IsInside(y, x - 1)))
                {
                    newnode = Nodes[y, x - 1];
                }
                break;

            case DirectionMovement.Right:
                if (IsWalkableAt(y, x + 1) || (!valid && IsInside(y, x + 1)))
                {
                    newnode = Nodes[y, x + 1];
                }
                break;

            // Diagonais
            case DirectionMovement.UpLeft:
                if (IsWalkableAt(y - 1, x - 1) || (!valid && IsInside(y - 1, x - 1)))
                {
                    newnode = Nodes[y - 1, x - 1];
                }
                break;

            case DirectionMovement.UpRight:
                if (IsWalkableAt(y - 1, x + 1) || (!valid && IsInside(y - 1, x + 1)))
                {
                    newnode = Nodes[y - 1, x + 1];
                }
                break;

            case DirectionMovement.DownLeft:
                if (IsWalkableAt(y + 1, x - 1) || (!valid && IsInside(y + 1, x - 1)))
                {
                    newnode = Nodes[y + 1, x - 1];
                }
                break;

            case DirectionMovement.DownRight:
                if (IsWalkableAt(y + 1, x + 1) || (!valid && IsInside(y + 1, x + 1)))
                {
                    newnode = Nodes[y + 1, x + 1];
                }
                break;
            }
            if (newnode == null)
            {
                return(null);
            }
            newnode.Direction = direction;
            return(ByRef ? newnode : new Node(newnode, node, direction));
        }
Esempio n. 14
0
 public Node(int x, int y, DirectionMovement direction)
 {
     X         = x;
     Y         = y;
     Direction = direction;
 }