Esempio n. 1
0
        public bool Reaccio(Partida partida, Jugador jugador)
        {
            bool quiereEnseñarla;

            quiereEnseñarla = partida.PreguntaAlJugador(jugador, "Vols protegirte de l'atac?", "Si", "No") == 0;
            if (quiereEnseñarla)
            {
                jugador.CartesMostrades.Add(partida.JugadorReactiu.Ma.Filtra((c) => c is Fossat)[0]);
                partida.PreguntaAlJugador(partida.JugadorActual, string.Format("{0} s'ha protegit", partida.JugadorReactiu.Nom), "Ok");
                jugador.CartesMostrades.Clear();
            }
            return(quiereEnseñarla);
        }
Esempio n. 2
0
        public override void ExecutaAccio(Partida partida)
        {
            IList <CartaDominion> cartes;

            if (partida.AgafaCarta(typeof(Plata)))
            {
                partida.JugadorActual.Mazo.Push(new Plata());
            }
            for (int i = 0; i < partida.Jugadors.Length; i++)
            {
                if (partida.Jugadors[i].Posicio != partida.JugadorActual.Posicio && !partida.Jugadors[i].Protegit(partida))
                {
                    cartes = partida.Jugadors[i].Ma.Filtra((carta) => carta.EsCartaDeVictoria);
                    if (cartes.Count > 0)
                    {
                        //si te una carta victoria demano que trii quina enseña
                        cartes = partida.TriaCartes(partida.Jugadors[i], "Tria una carta per mostrar", 1, 1, cartes);
                        partida.Jugadors[i].CartesMostrades.Add(cartes[0]);
                        partida.Jugadors[i].Ma.Remove(cartes[0]);
                    }
                    else
                    {
                        //si no en te enseña totes
                        partida.Jugadors[i].CartesMostrades.AddRange(partida.Jugadors[i].Ma);
                        partida.Jugadors[i].Ma.Clear();
                    }
                }
            }
            partida.PreguntaAlJugador(partida.JugadorActual, "Mira les cartes.", "Ja está");
            for (int i = 0; i < partida.Jugadors.Length; i++)
            {
                partida.Jugadors[i].Ma.AddRange(partida.Jugadors[i].CartesMostrades);
                partida.Jugadors[i].CartesMostrades.Clear();
            }
        }
Esempio n. 3
0
        public override void ExecutaAccio(Partida partida)
        {
            const int SI = 0;

            string[] opcions = { "Si", "No" };
            if (partida.PreguntaAlJugador(partida.JugadorActual, "Vols descartar el mazo?", opcions) == SI)
            {
                partida.JugadorActual.Descartades.AddRange(partida.JugadorActual.Mazo);
                partida.JugadorActual.Mazo.Clear();
                partida.JugadorActual.PosaCartesDescartadesAlMazo();
            }
        }
Esempio n. 4
0
        public override void ExecutaAccio(Partida partida)
        {
            bool tornarAlMazo;

            for (int i = 0; i < partida.Jugadors.Length; i++)
            {
                if (!partida.Jugadors[i].Protegit(partida))
                {
                    partida.Jugadors[i].EnseñaCartesMazo(1);
                    tornarAlMazo = partida.PreguntaAlJugador(partida.JugadorActual, string.Format("Descartar o volver a su sitio la carta de {0}", partida.Jugadors[i]), "Descartar", "Tornar al Mazo") == 1;
                    if (tornarAlMazo)
                    {
                        partida.Jugadors[i].Mazo.Push(partida.Jugadors[i].CartesMostrades.Pop());
                    }
                    else
                    {
                        partida.Jugadors[i].Descartades.Push(partida.Jugadors[i].CartesMostrades.Pop());
                    }
                }
            }
        }