Cartas.Pack.RepartirCartaDePack C# (CSharp) Метод

RepartirCartaDePack() публичный Метод

public RepartirCartaDePack ( ) : Carta
Результат Carta
        public Carta RepartirCartaDePack()
        {
            Palo palo = (Palo)selectorCartaRandom.Next(NumPalos);

            while (this.EstaPaloVacio(palo))
            {
                palo = (Palo)selectorCartaRandom.Next(NumPalos);
            }

            Valor valor = (Valor)selectorCartaRandom.Next(CartasPorPalo);
            while (this.EsCartaYaRepartida(palo, valor))
            {
                valor = (Valor)selectorCartaRandom.Next(CartasPorPalo);
            }

            Carta card = this.packCarta[(int)palo, (int)valor];
            this.packCarta[(int)palo, (int)valor] = null;
            return card;
        }

Usage Example

        private void dealClick(object sender, RoutedEventArgs e)
        {
            try
            {
                pack = new Pack();

                for (int numMano = 0; numMano < NumManos; numMano++)
                {
                    manos[numMano] = new Mano();
                    for (int numCartas = 0; numCartas < Mano.TamMano; numCartas++)
                    {
                        Carta repartoCarta = pack.RepartirCartaDePack();
                        manos[numMano].AdcartaAMano(repartoCarta);
                    }
                }

                norte.Text = manos[0].ToString();
                sur.Text   = manos[1].ToString();
                este.Text  = manos[2].ToString();
                oeste.Text = manos[3].ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
All Usage Examples Of Cartas.Pack::RepartirCartaDePack