/// <summary> /// Deals a hand of Cuarenta /// </summary> /// <param name="numeroDeJugadores">Numbers of players in the Match</param> /// <param name="thisPlayer">Which player is this</param> /// <param name="dataPlayer">Which player is dealing</param> public void Repartir(int numeroDeJugadores, int thisPlayer, int dataPlayer) { if (numeroDeJugadores != 2 && numeroDeJugadores != 4) { throw new ArgumentOutOfRangeException(); } //Deal the cards int indexPlayer = dataPlayer + 1; for (int i = 0; i < numeroDeJugadores; i++) { if (indexPlayer >= numeroDeJugadores) { indexPlayer = 0; } for (int j = 0; j < 5; j++) { Manos[indexPlayer].AnadirArriba(Mazo.TomarTop()); if (thisPlayer == indexPlayer) { Manos[indexPlayer].NaipesEnGrupo[j].FaceUp = true; } else { Manos[indexPlayer].NaipesEnGrupo[j].FaceUp = false; } } indexPlayer++; } }
/// <summary> /// Clear everything and shuffle, and call a function to deal the cards /// </summary> /// <param name="numeroDeJugadores">Number of players in the match</param> /// <param name="thisPlayer">Which player is this</param> /// <param name="dataPlayer">Which player is dealing</param> public void IniciarNuevaData(int numeroDeJugadores, int thisPlayer, int dataPlayer) { if (numeroDeJugadores != 2 && numeroDeJugadores != 4) { throw new ArgumentOutOfRangeException(); } //Clear the cards in the hands of the players, in the table and in the whole deck (without the Perros) for (int i = 0; i < 4; i++) { Manos[i].NaipesEnGrupo.Clear(); } NaipesEnMesa.NaipesEnGrupo.Clear(); Mazo.NaipesEnGrupo.Clear(); //Create a complete deck without Perros foreach (CardPalo palo in Enum.GetValues(typeof(CardPalo))) { foreach (CardRank rank in Enum.GetValues(typeof(CardRank))) { if (rank <= CardRank.Siete || rank >= CardRank.Jota) { Mazo.AnadirArriba(new Naipe(rank, palo)); Mazo.NaipesEnGrupo[Mazo.NaipesEnGrupo.Count - 1].FaceUp = false; Mazo.NaipesEnGrupo[Mazo.NaipesEnGrupo.Count - 1].OnGame = true; } } } Mazo.Barajar(); Repartir(numeroDeJugadores, thisPlayer, dataPlayer); }
public void Reset() { CartesMostrades.Clear(); Ma.Clear(); Mazo.Clear(); Descartades.Clear(); }
public void DeberiaComenzarBienLaPartida() { Mazo mazo = new Mazo(); for (int i = 0; i < 10; i++) { mazo.Cartas.Add(new Carta { Codigo = i.ToString() }); } Mazo mazo2 = new Mazo(); mazo2.Cartas = mazo.Cartas.Where(x => Convert.ToInt32(x.Codigo) >= 0).ToList(); Partida partida = new Partida(mazo, new Jugador() { Nombre = "Santi" }) { JugadorDos = new Jugador() { Nombre = "Mica" } }; partida.ComenzarJuego(); Assert.AreNotEqual(mazo2, partida.Mazo.Cartas); Assert.AreEqual(partida.JugadorDos.Cartas.Count, partida.JugadorUno.Cartas.Count); }
public void DeberiaPoderAsignarUnMazoAUnaPartida() { var nuevapartida = new Partida(); var mazoxmen = new Mazo(); nuevapartida.Mazo = mazoxmen; Assert.AreEqual(mazoxmen, nuevapartida.Mazo); }
public void PosarTotesLesCartesAlMazo() { Mazo.AddRange(Ma); Ma.Clear(); Mazo.AddRange(CartesMostrades); CartesMostrades.Clear(); Mazo.AddRange(Descartades); Descartades.Clear(); }
public Jugador(TIPO_JUGADOR tipoJugador) { this.mazo = new Mazo(); this.idCartasMazo = new List <int>(); this.cartas = new List <System.Object>(); this.items = new List <System.Object>(); this.nivel = 1; this.experiencia = 0; this.tipoJugador = tipoJugador; }
static void Main(string[] args) { Mazo MazoUnJuego = new Mazo(3); MazoUnJuego.AgregarCarta(0, 1, "espada"); MazoUnJuego.AgregarCarta(1, 2, "espada"); Console.ReadKey(); }
public void SeDeberiaRepartirTodasLasCartas() { var nuevapartida = new Partida(); var carta1 = new Carta(); carta1.IdCarta = "1"; var carta2 = new Carta(); carta2.IdCarta = "2"; var carta3 = new Carta(); carta3.IdCarta = "3"; var carta4 = new Carta(); carta4.IdCarta = "4"; var mazzo = new Mazo(); mazzo.Cartas.Add(carta1); mazzo.Cartas.Add(carta2); mazzo.Cartas.Add(carta3); mazzo.Cartas.Add(carta4); var mazzo2 = new Mazo(); mazzo2.Cartas.Add(carta1); mazzo2.Cartas.Add(carta2); mazzo2.Cartas.Add(carta3); mazzo2.Cartas.Add(carta4); nuevapartida.Mazo = mazzo; var jugador1 = new Jugador(); jugador1.NumeroJugador = NumJugador.uno; var jugador2 = new Jugador(); jugador1.NumeroJugador = NumJugador.dos; nuevapartida.jugadores.Add(jugador1); nuevapartida.jugadores.Add(jugador2); nuevapartida.RepartirCartas(); bool ok = false; foreach (var item in nuevapartida.jugadores[0].Cartas) { foreach (var item2 in nuevapartida.jugadores[1].Cartas) { if (item == item2) { ok = true; } } } Assert.AreEqual(2, jugador1.Cartas.Count); Assert.AreNotEqual(mazzo2, nuevapartida.Mazo); Assert.AreEqual(false, ok); // Si se juega revancha nuevapartida.Revancha(); Assert.AreEqual(2, nuevapartida.jugadores[0].Cartas.Count); Assert.AreEqual(2, nuevapartida.jugadores[1].Cartas.Count); }
public void NoDeberiaRepartirConMazoVacio() { Jugador jugador1 = new Jugador().Nombre("Maxi").Numero(NumJugador.uno).IdConexion("1"); Jugador jugador2 = new Jugador().Nombre("Juan").Numero(NumJugador.dos).IdConexion("2"); Partida nuevaPartida = new Partida(); var mazo = new Mazo(); nuevaPartida.Jugador(jugador1).Jugador(jugador2).SetMazo(mazo).EstaCompleto = true; nuevaPartida.RepartirCartas(); Assert.AreEqual(0, nuevaPartida.jugadores[0].Cartas.Count); }
public void PartidaPermiteMezclarMazo() { Mazo Carta = new Mazo(); Carta.CargarMazo("Armas de videojuegos"); Cartas[] CartasOrdenadas = new Cartas[Carta.Cartas.Count]; Carta.Cartas.CopyTo(CartasOrdenadas); Carta.MazclarCartas(); bool Iguales = this.comprobarCartasNoMezcladas(CartasOrdenadas.ToList(), Carta.Cartas); Assert.IsFalse(Iguales, "El mazo no se mezcló"); }
public CartaDominion DonamCartaMazo() { CartaDominion carta = null; if (Mazo.Count == 0) { PosaCartesDescartadesAlMazo(); } if (Mazo.Count > 0) { carta = Mazo.Pop(); } return(carta); }
public void DeberiaPoderControlarCanrtidadDeJugadores() { var nuevapartida = new Partida(); var jugador1 = new Jugador(); var jugador2 = new Jugador(); var mazo = new Mazo(); nuevapartida.Mazo = mazo; nuevapartida.jugadores.Add(jugador1); nuevapartida.jugadores.Add(jugador2); nuevapartida.EstaCompleto = false; nuevapartida.RepartirCartas(); Assert.AreEqual(true, nuevapartida.EstaCompleto); }
public void DebePermitirMezclarMazo() { List <Carta> cartasMazoOriginal = new List <Carta>(); List <Carta> cartasMazoCopia = new List <Carta>(); List <Atributo> atributos = new List <Atributo>(); for (int i = 0; i < 10; i++) { Carta carta = new Carta(i + 1, TipoDeCarta.Normal, atributos); cartasMazoOriginal.Add(carta); cartasMazoCopia.Add(carta); } Mazo mazoOriginal = new Mazo(cartasMazoOriginal); Mazo mazoCopia = new Mazo(cartasMazoCopia); Jugador jugador = new Jugador("1", "Pepe"); Partida partida = Partida.CrearVerificarPartida(1, jugador, mazoCopia); partida.MezclarMazo(); bool flag = false; for (int i = 0; i < 10; i++) { if (partida.MazoPartida.Cartas[i].CodigoCarta != mazoOriginal.Cartas[i].CodigoCarta) { flag = true; break; } } Assert.AreEqual(true, flag); partida.MezclarMazo(); flag = false; for (int i = 0; i < 10; i++) { if (partida.MazoPartida.Cartas[i].CodigoCarta != mazoOriginal.Cartas[i].CodigoCarta) { flag = true; break; } } Assert.AreEqual(true, flag); }
public void DeberiaSerPar() { Mazo mazo = new Mazo(); for (int i = 0; i < 10; i++) { mazo.Cartas.Add(new Carta { Codigo = i.ToString() }); } bool band = false; double aux = Math.Pow((-1), (mazo.Cartas.Count)); if (aux > 0) { band = true; } Assert.AreEqual(band, true); }
public int PuntuacioFinal() { int puntuacio = 0; IList <CartaVictoria> cartaVictorias; PosarTotesLesCartesAlMazo(); cartaVictorias = Mazo.Filtra((c) => c is CartaVictoria).Casting <CartaVictoria>(); for (int i = 0; i < cartaVictorias.Count; i++) { if (!(cartaVictorias[i] is Jardins)) { puntuacio += cartaVictorias[i].Valor; } else { puntuacio += (cartaVictorias[i] as Jardins).PuntsDeVictoria(Mazo); } } return(puntuacio); }
public void NoPermiteRepartirSinJugadores() { var juego = new JuegoCromy.JuegoCromy(); Mazo Carta = new Mazo(); juego.MazoCompleto = Carta; Carta.CargarMazo("Armas de videojuegos"); Cartas[] CartasOrdenadas = new Cartas[Carta.Cartas.Count]; Carta.Cartas.CopyTo(CartasOrdenadas); juego.RepartirCartas(); // mezcla y reparte las cartas bool repartido = juego.Jugador1.Mazo.Count != 0; repartido = repartido && juego.Jugador2.Mazo.Count != 0; bool noMezclado = this.comprobarCartasNoMezcladas(CartasOrdenadas.ToList(), juego.MazoCompleto.Cartas); Assert.IsTrue(noMezclado && !repartido); }
public void PartidaPermiteRepartirCartas() { Mazo Carta = new Mazo(); Carta.CargarMazo("Armas de videojuegos"); int cont = 0; bool repetidas = true; foreach (var item1 in Carta.Cartas) { if (repetidas) { foreach (var item2 in Carta.Cartas) { cont += item1 == item2 ? 1 : 0; } repetidas = (cont == 1); cont = 0; } } bool CartasIguales; var juego = new JuegoCromy.JuegoCromy(); juego.Jugador1.ConectionID = "a"; juego.Jugador2.ConectionID = "a"; juego.MazoCompleto = Carta; juego.RepartirCartas(); CartasIguales = (juego.Jugador1.Mazo.Count == juego.Jugador2.Mazo.Count); Assert.IsTrue(CartasIguales, "Los jugadores no tienen la misma cantidad de cartas"); Assert.IsTrue(repetidas, "Hay dos cartas iguales"); }
protected void SetUp() { _mazo = new Mazo(); }
public void PosaCartesDescartadesAlMazo() { Descartades.Desordena(); Mazo.AddRange(Descartades); Descartades.Clear(); }