public AnalisadorDeJogadasTeste() { _identificadorDeNaipesIguais = new IdentificaCincoCartasComNaipesIguais(); _identificadorDeSequencia = new IdentificaSequenciaDeCarta(); _identificadorDeTrinca = new IdentificaTresCartasComValoresIguais(); _identificadorDePar = new IdentificaDuasCartasComValoresIguais(); _identificadorDeCartaMaisAlta = new IdentificaCartaMaisAlta(); _identificadorDeQuatroCartas = new IdentificaQuatroCartasComValoresIguais(); var conversorDeNaipes = new ConversorDeNaipe(); var conversorDeValorDeCarta = new ConversorDeValorDeCarta(); var conversorDeCarta = new ConversorDeCarta(conversorDeValorDeCarta, conversorDeNaipes); _conversorDeMaoDe5Cartas = ConversorDeMaoDe5CartasBuilder.UmConversor() .ComConversorDeCartas(conversorDeCarta) .Construir(); }
public DesempateDeJogada(IIDentificadorDeCartas identificadorDeTrinca, IIDentificadorDeCartas identificadorDeCartaMaisAlta, IIDentificadorDeCartas identificadorDeQuadra, IIDentificadorDeCartas identificadorDePar) { _dicionarioDeDesempate = new Dictionary <Jogada, IRegraDeDesempate> { { Jogada.RoyalFlush, new DesempateDeRoyalFlush() }, { Jogada.StraightFlush, new DesempateDeStraightFlush(identificadorDeCartaMaisAlta) }, { Jogada.Quadra, new DesempateDeQuadra(identificadorDeQuadra) }, { Jogada.FullHouse, new DesempateDeFullHouse(identificadorDeTrinca) }, { Jogada.Flush, new DesempateDeFlush(identificadorDeTrinca) }, { Jogada.Straight, new DesempateDeStraight(identificadorDeCartaMaisAlta) }, { Jogada.UmaTrinca, new DesempateDeTrinca(identificadorDeTrinca, identificadorDeCartaMaisAlta) }, { Jogada.DoisParesDiferentes, new DesempateDeDoisPares(identificadorDePar) }, { Jogada.UmParDeCartas, new DesempateDeUmPar(identificadorDePar, identificadorDeCartaMaisAlta) }, { Jogada.CartaMaisAlta, new DesempateDeCartaMaisAlta(identificadorDeCartaMaisAlta) } }; }
public DesempateDeStraightTeste() { _identificadorDeCartaMaisAlta = new IdentificaCartaMaisAlta(); _maoA = new List <Carta> { CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Clubs).Construir(), CartaBuilder.UmaCarta().ComValor(7).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Spades).Construir() }; _maoB = new List <Carta> { CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(8).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(9).ComNaipe(Naipes.Clubs).Construir(), CartaBuilder.UmaCarta().ComValor(7).ComNaipe(Naipes.Clubs).Construir(), CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Hearts).Construir() }; }
public DesempateDeFlushTeste() { _identificadorDeCartaMaisAlta = new IdentificaCartaMaisAlta(); _maoA = new List <Carta> { CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(8).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Spades).Construir() }; _maoB = new List <Carta> { CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(8).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(11).ComNaipe(Naipes.Diamonds).Construir() }; }
public DesempateDeDoisParesTeste() { _identificadorDePar = new IdentificaDuasCartasComValoresIguais(); _maoA = new List <Carta> { CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir() }; _maoB = new List <Carta> { CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Spades).Construir() }; }
public AnalisadorDeJogada(IIDentificadorDeCartas identificadorDeSequencia, IIDentificadorDeCartas identificadorDeNaipesIguais, IIDentificadorDeCartas identificadorDeTrinca, IIDentificadorDeCartas identificadorDePar, IIDentificadorDeCartas identificadorDeCartaMaisAlta, IIDentificadorDeCartas identificadorDeQuatroCartasComValoresIguais) { _listaDeJogadas = new List <IJogada> { new RoyalFlush(identificadorDeSequencia, identificadorDeNaipesIguais), new StraightFlush(identificadorDeNaipesIguais, identificadorDeSequencia), new Quadra(identificadorDeQuatroCartasComValoresIguais), new FullHouse(identificadorDeTrinca, identificadorDePar), new Flush(identificadorDeNaipesIguais), new Straight(identificadorDeSequencia), new UmaTrinca(identificadorDeTrinca), new DoisParesDiferentes(identificadorDePar), new UmParDeCartas(identificadorDePar), new CartaMaisAlta(identificadorDeCartaMaisAlta) }; }
public DesempateDeTrincaTeste() { _identificadorDeTrinca = new IdentificaTresCartasComValoresIguais(); _identificadorDeCartaMaisAlta = new IdentificaCartaMaisAlta(); _maoA = new List <Carta> { CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(7).ComNaipe(Naipes.Hearts).Construir() }; _maoB = new List <Carta> { CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(8).ComNaipe(Naipes.Hearts).Construir() }; }
public CartaMaisAlta(IIDentificadorDeCartas identificadorDeCartaMaisAlta) { _identificadorDeCartaMaisAlta = identificadorDeCartaMaisAlta; }
public AnalisadorDeJogadaBuilder ComIdentificadorDeQuatroCartasDefinido() { _identificadorDeQuatroCartasIguais = new IdentificaQuatroCartasComValoresIguais(); return(this); }
public AnalisadorDeJogadaBuilder ComIdentificadorDeCartaMaisAltaDefinido() { _identificadorDeCartaMaisAlta = new IdentificaCartaMaisAlta(); return(this); }
public Flush(IIDentificadorDeCartas identificadorDeCartasComMesmoNaipe) { _identificadorDeCartasComMesmoNaipe = identificadorDeCartasComMesmoNaipe; }
public DoisParesDiferentes(IIDentificadorDeCartas identificadorDePares) { _identificadorDePares = identificadorDePares; }
public DesempateDeFullHouse(IIDentificadorDeCartas identificadorDeTrinca) { _identificadorDeTrinca = identificadorDeTrinca; }
public FullHouse(IIDentificadorDeCartas identificadorDeTrinca, IIDentificadorDeCartas identificadorDePar) { _identificadorDeTrinca = identificadorDeTrinca; _identificadorDePar = identificadorDePar; }
public Straight(IIDentificadorDeCartas identificadorDeSequencia) { _identificadorDeSequencia = identificadorDeSequencia; }
public StraightFlush(IIDentificadorDeCartas identificadorDeNaipesIguais, IIDentificadorDeCartas identificadorDeSequencia) { _identificadorDeNaipesIguais = identificadorDeNaipesIguais; _identificadorDeSequencia = identificadorDeSequencia; }
public UmaTrinca(IIDentificadorDeCartas identificadorDeTresCartasComValoresIguais) { _identificadorDeTresCartasComValoresIguais = identificadorDeTresCartasComValoresIguais; }
public DesempateDeTrinca(IIDentificadorDeCartas identificadorDeTrinca, IIDentificadorDeCartas identificadorDeCartaMaisAlta) { _identificadorDeTrinca = identificadorDeTrinca; _identificadorDeCartaMaisAlta = identificadorDeCartaMaisAlta; }
public Quadra(IIDentificadorDeCartas identificadorDeQuatroCartasComValoresIguais) { _identificadorDeQuatroCartasComValoresIguais = identificadorDeQuatroCartasComValoresIguais; }
public DesempateDeStraight(IIDentificadorDeCartas identificadorDeCartaMaisAlta) { _identificadorDeCartaMaisAlta = identificadorDeCartaMaisAlta; }
public DesempateDeQuadra(IIDentificadorDeCartas identificadorDeQuadra) { _identificadorDeQuadra = identificadorDeQuadra; }
public DesempateDeUmPar(IIDentificadorDeCartas identificadorDePar, IIDentificadorDeCartas identificadorDeCartaMaisAlta) { _identificadorDePar = identificadorDePar; _identificadorDeCartaMaisAlta = identificadorDeCartaMaisAlta; }
public DesempateDeFlush(IIDentificadorDeCartas identificadorDeCartaMaisAlta) { _identificadorDeCartaMaisAlta = identificadorDeCartaMaisAlta; }
public UmParDeCartas(IIDentificadorDeCartas identificadorDePar) { _identificadorDePar = identificadorDePar; }
public DesempateDeDoisPares(IIDentificadorDeCartas identificadorDePar) { _identificadorDePar = identificadorDePar; }