public bool MoveGameObject(GameObject gameObject, GameObject.direction direction)
        {
            int[] newPos = new int[2];
            newPos[0] = gameObject.X;
            newPos[1] = gameObject.Y;
            switch (direction)
            {
            case GameObject.direction.Down:
                newPos[1]++;
                break;

            case GameObject.direction.Up:
                newPos[1]--;
                break;

            case GameObject.direction.Left:
                newPos[0]--;
                break;

            case GameObject.direction.Right:
                newPos[0]++;
                break;
            }

            if (MapGrid[newPos[0], newPos[1]] != '\0')
            {
                return(false);
            }

            SetCursorPosition(gameObject.X, gameObject.Y);
            Write('\0');

            gameObject.X = newPos[0];
            gameObject.Y = newPos[1];
            return(true);
        }
        private void HandleMovement()
        {
            ConsoleKey key = ReadKey(true).Key;

            GameObject.direction direction = GameObject.direction.Other;
            switch (key)
            {
            case ConsoleKey.UpArrow:
                direction = GameObject.direction.Up;
                break;

            case ConsoleKey.DownArrow:
                direction = GameObject.direction.Down;
                break;

            case ConsoleKey.LeftArrow:
                direction = GameObject.direction.Left;
                break;

            case ConsoleKey.RightArrow:
                direction = GameObject.direction.Right;
                break;

            case ConsoleKey.Z:

                if (!CurrentWorld.HasGameObject(CurrentTreasure))
                {
                    if (CurrentWorld.HasGameObject(CurrentLaser))
                    {
                        return;
                    }
                    Beep(466, 52);
                    if (!CurrentWorld.HasGameObject(CurrentLaser) && CurrentWorld.HasGameObject(CurrentEnemy))
                    {
                        CurrentLaser = new Laser(CurrentPlayer.X, CurrentPlayer.Y, CurrentGame, CurrentPlayer, CurrentWorld, CurrentEnemy);
                        CurrentWorld.AddGameObject(CurrentLaser);
                    }
                }

                break;

            case ConsoleKey.S:
                CurrentPlayer.Y++;
                CurrentPlayer.Y++;
                CurrentWorld.DrawWorld();
                break;

            case ConsoleKey.W:
                CurrentPlayer.Y--;
                CurrentPlayer.Y--;
                CurrentWorld.DrawWorld();
                break;

            case ConsoleKey.D:
                CurrentPlayer.X++;
                CurrentPlayer.X++;
                CurrentWorld.DrawWorld();
                break;

            case ConsoleKey.A:
                CurrentPlayer.X--;
                CurrentPlayer.X--;
                CurrentWorld.DrawWorld();
                break;
            }
            if (direction != GameObject.direction.Other)
            {
                CurrentWorld.MoveGameObject(CurrentPlayer, direction);
                CurrentEnemy.EnemyMoveToTarget();
                CurrentLaser?.MoveLaser();
            }
        }