예제 #1
0
        /// <summary>
        /// Cria nova instância do jogo, incializando com os jogadores
        /// </summary>
        /// <param name="jogadores"></param>
        /// <returns></returns>
        public JogoDomino CriarJogo(params string[] jogadores)
        {
            var jogo = JogoDomino.NovoJogo(jogadores);

            Jogos.TryAdd(jogo.Id, jogo);

            foreach (var j in jogadores)
            {
                RemoverJogadorDaFila(j);
            }

            return(jogo);
        }
예제 #2
0
        public void TestJogo1()
        {
            var jogo = JogoDomino.NovoJogo("player1", "player2");

            var j1 = jogo.Jogadores[0];
            var p1 = j1.Mao[0];

            var s1 = jogo.Jogar("player1", p1.ToString(), "e");

            var          j2 = jogo.Jogadores[1];
            List <Pedra> jogadas;

            while (!(jogadas = j2.ObterJogadasPossiveis(jogo.Mesa.PontaEsquerda, jogo.Mesa.PontaDireita)).Any())
            {
                jogo.ComprarPedra(j2.Id);
            }

            Assert.AreEqual(j1.Mao.Count, 6);
            Assert.AreEqual(jogo.Mesa.PedrasJogadas.Count, 1);
            Assert.AreEqual(jogo.Mesa.PontaEsquerda, p1.Lado2);

            var s2 = jogo.Jogar("player2", jogadas[0].ToString(), "d");
        }