Пример #1
0
 //constructor
 public Maso(int n, int figura, string represent, int valor)
 {
     numero         = n;
     this.figura    = (Palo)figura;
     representacion = represent;
     this.valor     = valor;
 }
Пример #2
0
        /// <summary>
        /// Draw a Card
        /// </summary>
        /// <param name="spriteBatch">Game sprite batch</param>
        /// <param name="textures">texture to draw</param>
        public void Draw(SpriteBatch spriteBatch, Dictionary <String, Texture2D> textures)
        {
            Texture2D texture       = textures[Rank.ToString() + Palo.ToString()];
            Rectangle drawRectangle = this.drawRectangle;

            drawRectangle.X += (int)Math.Round((float)CardSize.Width / 2);
            drawRectangle.Y += (int)Math.Round((float)CardSize.Height / 2);
            float rotation = 0;

            if (Rotated)
            {
                rotation = (float)Math.PI / 2;
            }

            if (OnGame)
            {
                if (FaceUp)
                {
                    spriteBatch.Draw(texture, drawRectangle, null, Color.White, rotation, new Vector2(texture.Width / 2, texture.Height / 2), SpriteEffects.None, 0);
                }
                else
                {
                    spriteBatch.Draw(textures["back"], drawRectangle, null, Color.White, rotation, new Vector2(textures["back"].Width / 2, textures["back"].Height / 2), SpriteEffects.None, 0);
                }

                if (Touched)
                {
                    spriteBatch.Draw(textures["frame_red"], drawRectangle, null, Color.White, rotation, new Vector2(textures["frame_red"].Width / 2, textures["frame_red"].Height / 2), SpriteEffects.None, 0);
                }
            }
        }
Пример #3
0
        private static bool RevisarPalo(List <Pico> picos, List <Carta> listado, out string error)
        {
            error = string.Empty;
            for (int ip = 0; ip < 4; ip++)
            {
                Palo palo = (Palo)ip;

                if ((picos.Where(p => p.Palo == palo).Count() + listado.Where(p => p.Palo == palo).Count()) != 13)
                {
                    error += $"Hay {picos.Where(p => p.Palo == palo).Count() + listado.Where(p => p.Palo == palo).Count()} cartas de {palo.ToString("g")}. ";
                }

                for (int i = 1; i <= 13; i++)
                {
                    if (picos.Where(p => p.Palo == palo && p.Numero == i).Count() == 0 && listado.Where(p => p.Palo == palo && p.Numero == i).Count() == 0)
                    {
                        error += $"Falta la carta {i} de {palo.ToString("g") }. ";
                    }

                    if (picos.Where(p => p.Palo == palo && p.Numero == i).Count() > 1 ||
                        listado.Where(p => p.Palo == palo && p.Numero == i).Count() > 1 ||
                        picos.Where(p => p.Palo == palo && p.Numero == i).Count() >= 1 && listado.Where(p => p.Palo == palo && p.Numero == i).Count() >= 1
                        )
                    {
                        error += $"La carta {i} de {palo.ToString("g") } está repetida. ";
                    }
                }
            }

            return(string.IsNullOrEmpty(error));
        }
Пример #4
0
 public Carta(int elNumero, Palo elPalo)
 {
     ElPalo = elPalo;
     Valor  = elNumero;
     if (2 <= elNumero && elNumero <= 9)
     {
         Numero = elNumero.ToString();
     }
 }
Пример #5
0
 private void CrearCartasDelPalo(ref int contador, ref Carta[] elResultado, Palo elPalo)
 {
     elResultado[contador++] = new Carta("A", elPalo);
     for (int i = 2; i <= 10; i++)
     {
         elResultado[contador++] = new Carta(i, elPalo);
     }
     elResultado[contador++] = new Carta("J", elPalo);
     elResultado[contador++] = new Carta("Q", elPalo);
     elResultado[contador++] = new Carta("K", elPalo);
 }
Пример #6
0
 public Pack()
 {
     this.packCarta = new Carta[NumPalos, CartasPorPalo];
     for (Palo palo = Palo.Oros; palo <= Palo.Bastos; palo++)
     {
         for (Valor valor = Valor.Dos; valor <= Valor.As; valor++)
         {
             this.packCarta[(int)palo, (int)valor] = new Carta(palo, valor);
         }
     }
 }
Пример #7
0
        public void AñadeBaraja()
        {
            Palo  palo  = Palo.Corazones;
            Valor valor = 0;

            for (int i = 0; i < 4; i++, palo += 1)
            {
                for (int j = 0; j < 13; j++, valor += 1)
                {
                    AñadeCarta(new Carta(valor, palo));
                }
                valor = 0;
            }
        }
Пример #8
0
        private bool EstaPaloVacio(Palo palo)
        {
            bool result = true;
            for (Valor value = Valor.Dos; value <= Valor.As; value++)
            {
                if (!EsCartaYaRepartida(palo, value))
                {
                    result = false;
                    break;
                }
            }

            return result;
        }
Пример #9
0
 //Constructor
 public Carta(int val, Palo palo)
 {
     string[] nombres = { "Uno", "Dos", "Tres", "Cuatro", "Cinco", "Seis", "Siete", "Ocho", "nueve", "Sota", "Caballo", "Rey" };
     _nombre = nombres[val - 1];
     _valor  = val;
     _palo   = palo;
     if (val <= 9)
     {
         _peso = val;
     }
     else
     {
         _peso = 0.5;
     }
 }
        private bool EstaPaloVacio(Palo palo)
        {
            bool result = true;

            for (Valor value = Valor.Dos; value <= Valor.As; value++)
            {
                if (!EsCartaYaRepartida(palo, value))
                {
                    result = false;
                    break;
                }
            }

            return(result);
        }
Пример #11
0
 public Carta(string elNumero, Palo elPalo)
 {
     this.Numero = elNumero;
     this.ElPalo = elPalo;
     if (elNumero == "J" || elNumero == "Q" || elNumero == "K")
     {
         this.Valor = 10;
     }
     if ('2' <= elNumero[0] && elNumero[0] <= '9')
     {
         this.Valor = (int)elNumero[0];
     }
     if (elNumero == "A")
     {
         this.Valor = 11;
     }
 }
Пример #12
0
        public Palo ConvertirP(int n)
        {
            Palo r = Palo.DIAMANTES;

            switch (n)
            {
            case 0: { r = Palo.TREBOL; break; }

            case 1: { r = Palo.DIAMANTES; break; }

            case 2: { r = Palo.CORAZONES; break; }

            case 3: { r = Palo.ESPADAS; break; }

            default: { r = Palo.TREBOL; break; }
            }
            return(r);
        }
        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);
        }
Пример #14
0
        static void Main(string[] args)
        {
            // IScenario scenario = new ConsoleScenario();
            // scenario.Setup();
            // scenario.Run();
            Elf elfo = new Elf("El Elfo");
            Wizard wizard = new Wizard("El Mago");
            Troll troll = new Troll("El Troll");

            Coraza coraza = new Coraza();
            Cuchillo cuchillo = new Cuchillo();
            Magic magic = new Magic();
            Martillo martillo = new Martillo();
            Palo palo = new Palo();
            Rifle rifle = new Rifle();
            RifleConCuchillo rifleConCuchillo = new RifleConCuchillo();
            Robes robes = new Robes();

            List<IGema> Gemas = new List<IGema>();
            Gemas.Add(new GemaAmarilla());
            Gemas.Add(new GemaCeleste());
            Gemas.Add(new GemaRoja());

            GuanteDePoder guanteDePoder  = new GuanteDePoder(Gemas);         

            elfo.AddItem(magic);
            elfo.AddItem(robes);
            wizard.AddItem(guanteDePoder);
            troll.AddItem(rifleConCuchillo);

            AttackEncounter attackEncounter = new AttackEncounter(elfo,wizard);
            ConsoleReporter consoleReporter = new ConsoleReporter();
            attackEncounter.Reporter = consoleReporter;
            attackEncounter.DoEncounter();
            AttackEncounter attackEncounter1 = new AttackEncounter(wizard, troll);
            attackEncounter1.Reporter = consoleReporter;
            attackEncounter1.DoEncounter();

        }
Пример #15
0
 public Carta(Valor valor, Palo palo)
 {
     _Valor = valor;
     _Palo  = palo;
 }
Пример #16
0
 public Carta(int Numero, Palo Palo)
 {
     this.Numero = Numero;
     this.Palo   = Palo;
 }
Пример #17
0
 public Carta(Palo p, Valor v)
 {
     this.palo = p;
     this.valor = v;
 }
Пример #18
0
 /// <summary>
 /// Builds the entity with a value and a type of card.
 /// </summary>
 /// <param name="valor">Enum Valor-type.</param>
 /// <param name="palo">Enum Palo-type.</param>
 public Carta(Valor valor, Palo palo)
 {
     this.valor = valor;
     this.palo  = palo;
 }
Пример #19
0
 public Pico(int numero, Palo palo) : base(numero, palo)
 {
     this.Usada  = false;
     this.EsPico = true;
 }
Пример #20
0
 private bool CartaYaRepartida(Palo palo, Valor valor)
 {
     // TODO: devolver true si esta carta ya ha sido repartida
     throw new NotImplementedException("CartaYaRepartida - TBD");
 }
Пример #21
0
 private bool EstaPaloVacio(Palo palo)
 {
     // TODO: devolver true si no hay más cartas disponibles en este palo
     throw new NotImplementedException("EstaPaloVacio - TBD");
 }
Пример #22
0
 private bool CartaYaRepartida(Palo palo, Valor valor)
 {
     // TODO: devolver true si esta carta ya ha sido repartida
     throw new NotImplementedException("CartaYaRepartida - TBD");
 }
Пример #23
0
 /// <summary>
 /// To String method
 /// </summary>
 /// <returns>Returns rank de suit</returns>
 public override string ToString()
 {
     return(Rank.ToString() + " de " + Palo.ToString());
 }
 private bool EsCartaYaRepartida(Palo palo, Valor valor)
 {
     return(this.packCarta[(int)palo, (int)valor] == null);
 }
Пример #25
0
 public Carta(int r, int p, bool est)
 {
     c_rango       = ConvertirRango(r);
     c_palo        = ConvertirP(p);
     c_CartaArriba = est;
 }
Пример #26
0
 private bool EstaPaloVacio(Palo palo)
 {
     // TODO: devolver true si no hay más cartas disponibles en este palo
     throw new NotImplementedException("EstaPaloVacio - TBD");
 }
Пример #27
0
 private bool EsCartaYaRepartida(Palo palo, Valor valor)
 {
     return (this.packCarta[(int)palo, (int)valor] == null);
 }
 public Carta(Palo p, Valor v)
 {
     this.palo  = p;
     this.valor = v;
 }
Пример #29
0
 public Carta(int numero, Palo palo)
 {
     this.Numero = numero;
     this.Palo   = palo;
 }
Пример #30
0
 public Carta(Palo Palo, int Numero)
 {
     this.Palo   = Palo;
     this.Numero = Numero;
 }