/// <summary>
        /// Create the game players 
        /// </summary>
        /// <param name="i_PlayersNum">The number of players we want in the 
        /// game</param>
        private void createPlayers(int i_PlayersNum)
        {
            m_Players = new SpaceShipComposite[i_PlayersNum];
            m_PlayersAliveMark = new bool[i_PlayersNum];
            m_PlayersLiveDrawer = new PlayerLivesDrawer[i_PlayersNum];
            m_PlayersScoreDrawer = new PlayerScoreDrawer[i_PlayersNum];

            createPlayer(
                new PlayerControls(),
                1,
                Constants.k_Player1AssetName,
                k_Player1ScorePrefix);

            // In case we have 2 players in the game, we'll create the second
            // player
            if (i_PlayersNum == 2)
            {
                PlayerControls player2Controls = new PlayerControls(
                    Microsoft.Xna.Framework.Input.Keys.Space,
                    Microsoft.Xna.Framework.Input.Keys.A,
                    Microsoft.Xna.Framework.Input.Keys.D,
                    false);

                createPlayer(
                    player2Controls,
                    2,
                    Constants.k_Player2AssetName,
                    k_Player2ScorePrefix);
            }
        }
        /// <summary>
        /// Creates a new player in the game and adds it to the class 
        /// game components
        /// </summary>
        /// <param name="i_PlayerControls">The controls that we want the new player
        /// will have</param>
        /// <param name="i_PlayerNum">The number of the new player</param>        
        private void createPlayer(
            PlayerControls i_PlayerControls,
            int i_PlayerNum,
            string i_PlayerAsset,
            string i_ScorePrefix)
        {
            SpaceShip newPlayer =  new SpaceShip(
                    Game,
                    i_PlayerAsset,
                    i_PlayerControls,
                    i_PlayerNum);

            newPlayer.PlayerIsDead += new PlayerIsDeadDelegate(spaceShip_PlayerIsDead);
            newPlayer.PlayActionSoundEvent += new PlayActionSoundDelegate(Component_PlayActionSoundEvent);
            SpaceShipComposite spaceShipHolder = new SpaceShipComposite(
                Game,
                newPlayer);

            PlayerLivesDrawer lDrawer = new PlayerLivesDrawer(
                    Game,
                    newPlayer);
            PlayerScoreDrawer sDrawer = new PlayerScoreDrawer(
                Game,
                newPlayer,
                i_ScorePrefix);

            this.Add(spaceShipHolder);
            this.Add(lDrawer);
            this.Add(sDrawer);

            m_Players[i_PlayerNum - 1] = spaceShipHolder;
            m_PlayersScoreDrawer[i_PlayerNum - 1] = sDrawer;
            m_PlayersLiveDrawer[i_PlayerNum - 1] = lDrawer;
            m_PlayersAliveMark[i_PlayerNum - 1] = true;
        }