/// <summary>
        /// Happens once when there's a collision with a ghost.
        /// </summary>
        private void GhostCollision(GameObject ghost)
        {
            switch (ghost.GetComponent <MoveComponent>().MovementState)
            {
            case MovementState.Chase:
            case MovementState.Scatter:
                OnGhostChaseCollision();
                break;

            case MovementState.Frightened:
                ResetTimer(frightenedModeTime);
                ConsoleSprite consoleSprite =
                    ghost.GetComponent <ConsoleSprite>();

                consoleSprite.ChangeColor(
                    ConsoleColor.Red, ConsoleColor.DarkBlue);

                MoveComponent moveComponent =
                    ghost.GetComponent <MoveComponent>();
                InvertGhostDirection(ghost);
                moveComponent.MovementState = MovementState.Eaten;
                moveComponent.AddMovementBehaviour(
                    new BlinkyChaseBehaviour(
                        ghost,
                        map,
                        new MapTransformComponent(13, 11),
                        ghost.GetComponent <MapTransformComponent>(),
                        3));
                break;
            }
        }
        /// <summary>
        /// Method that defines what happens when pacman collides with
        /// power pills.
        /// </summary>
        private void PowerPillCollision()
        {
            ResetTimer(frightenedModeTime);
            foreach (GameObject ghost in ghosts)
            {
                MoveComponent moveComponent =
                    ghost.GetComponent <MoveComponent>();
                if (moveComponent.MovementState == MovementState.Eaten)
                {
                    continue;
                }

                ConsoleSprite consoleSprite =
                    ghost.GetComponent <ConsoleSprite>();
                consoleSprite.ChangeColor(
                    ConsoleColor.Red,
                    ConsoleColor.White);

                moveComponent.MovementState = MovementState.Frightened;
                SwitchFrightenedMode(ghost);
                InvertGhostDirection(ghost);
            }
        }