예제 #1
0
        public void Inicializar()
        {
            _tablero = new Tablero(new Grilla(new Punto()));
            _jugador = new Jugador();
            _partida = new Partida(_tablero, _jugador);

            _partidaEnCurso = _partida.Crear(9, "negro", "blanco");
        }
예제 #2
0
        public void Inicializar()
        {
            _tablero = new Tablero(new Grilla(new Punto()));
            _partida = new Partida(_tablero, new Jugador());

            _movimientoValidador = new MovimientoValidador(_partida, _tablero);

            _partidaDTO = _partida.Crear(9, "negro", "blanco");
        }
예제 #3
0
        public JugadorDTO ObtenerJugadorActivo(PartidaDTO partidaEnCurso)
        {
            if (partidaEnCurso.jugadorBlanco.activo)
            {
                return(partidaEnCurso.jugadorBlanco);
            }

            return(partidaEnCurso.jugadorNegro);
        }
예제 #4
0
 public void CambiarJugadorActivo(PartidaDTO partidaEnCurso)
 {
     if (partidaEnCurso.jugadorBlanco.activo)
     {
         partidaEnCurso.jugadorBlanco.activo = false;
         partidaEnCurso.jugadorNegro.activo  = true;
     }
     else
     {
         partidaEnCurso.jugadorBlanco.activo = true;
         partidaEnCurso.jugadorNegro.activo  = false;
     }
 }
예제 #5
0
        public PartidaDTO Crear(int tamaño, string nombreJugadorNegro, string nombreJugadorBlanco)
        {
            PartidaDTO partidaCreada = new PartidaDTO
            {
                tablero        = _tablero.CrearTablero(tamaño),
                jugadorNegro   = _jugador.CrearJugador(nombreJugadorNegro, Color.Negro),
                jugadorBlanco  = _jugador.CrearJugador(nombreJugadorBlanco, Color.Blanco),
                jugadas        = new List <JugadaDTO>(),
                piedrasNegras  = new List <PiedraDTO>(),
                piedrasBlancas = new List <PiedraDTO>()
            };


            return(partidaCreada);
        }
예제 #6
0
        public void CunadoSeCreaPartidaSeDeterminaTamañoYSeCreanJugadores()
        {
            int    tamaño              = 9;
            string nombreJugadorNegro  = "negro";
            string nombreJugadorBlanco = "blanco";

            PartidaDTO partidaCreada = _partida.Crear(tamaño, nombreJugadorNegro, nombreJugadorBlanco);

            Assert.AreEqual(9, partidaCreada.tablero.tamaño);
            Assert.AreEqual("negro", partidaCreada.jugadorNegro.nombre);
            Assert.AreEqual("blanco", partidaCreada.jugadorBlanco.nombre);
            Assert.AreEqual(0, partidaCreada.jugadas.Count);
            Assert.AreEqual(0, partidaCreada.piedrasNegras.Count);
            Assert.AreEqual(0, partidaCreada.piedrasBlancas.Count);
        }
예제 #7
0
    public static async Task <PartidaDTO> GetGameFromServer(string game)
    {
        HttpClient client;

        using (client = new HttpClient())
        {
            var response = await client.GetAsync("https://cryptic-cliffs-86576.herokuapp.com/info-partida?game=" + game).ConfigureAwait(false);

            if (response.IsSuccessStatusCode)
            {
                Debug.Log("Conectado.");
            }
            else
            {
                Debug.Log(response.StatusCode);
                return(null);
            }

            var obj = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

            //string name = "{\"id\":1,\"titulo\":\"Partida 1\",\"turnos\":1,\"numJogadores\":3,\"palavras\":\"teste,teste,teste,teste\",\"jogadores\":[{\"id\":4,\"nome\":\"Jogador 1\"},{\"id\":3,\"nome\":\"Jogador 3\"},{\"id\":2,\"nome\":\"Jogador 2\"}]}";

            /*
             * string name = "{" +
             *  "\"id\":123," +
             *  "\"titulo\":\"Partida_1\"," +
             *  "\"turnos\":1," +
             *  "\"numJogadores\":3," +
             *  "\"palavras\":\"" +
             *  "SOFÁ, BONÉ, AQUARELA, NOVELA, RUA, GELO, AMIGO, PETECA, MIL, DINOSSAURO, CABIDE," +
             *  "EXEMPLO, SECA, BARRIGA, CUBO, BATUCADA, LEI, NINHO, FAIXA, COLMEIA, TACO, HIPOPÓTAMO," +
             *  "TAXA, SOL, FOLIA, JOGADA, VÉU, FADA, PIQUE, SAPATO, TOMATE, FIVELA, TELEFONE, PLUMA," +
             *  "OURO, POSE, MARINHEIRO, REDE, PIRULITO, FIXO, CARAMELO, TREM, VICE, ÚLTIMO, ABELHA," +
             *  "MARIDO, PILHA, CAMINHÃO, XÍCARA\"" +
             *  ",\"jogadores\":" +
             *  "[{\"id\":4,\"nome\":\"Jogador 1\"}," +
             *  "{\"id\":3,\"nome\":\"Jogador 3\"}," +
             *  "{\"id\":2,\"nome\":\"Jogador 2\"}]}";*/


            partida = JsonConvert.DeserializeObject <PartidaDTO>(obj);
        }

        autoResetEvent.Set();

        return(partida);
    }
예제 #8
0
    /// <summary>
    /// tenta entrar em uma partida no servidor identificado
    /// pela string.
    /// </summary>
    public static bool JoinGame(string game)
    {
        partida = GetGameFromServer(game).Result;

        //Debug.Log(partida.titulo);

        if (partida == null)
        {
            return(false);
        }

        instance.SetMatchID(partida.id.ToString());
        autoResetEvent.WaitOne();
        //print(partida.titulo);

        return(true);
    }
예제 #9
0
        public void Crear(PartidaDTO partidaDTO, string idPunto)
        {
            JugadorDTO jugadorActivo      = _partida.ObtenerJugadorActivo(partidaDTO);
            Color      colorJugadorActivo = jugadorActivo.color;

            PuntoDTO puntoJugado = _tablero.ObtenerPuntoPorId(partidaDTO.tablero, idPunto);

            partidaDTO.jugadas.Add(_jugada.CrearJugada(colorJugadorActivo, idPunto, jugadorActivo.turno));

            PiedraDTO piedraJugada = _piedra.JugarPiedra(puntoJugado, jugadorActivo.turno);

            if (colorJugadorActivo == Color.Negro)
            {
                partidaDTO.piedrasNegras.Add(piedraJugada);
            }
            else
            {
                partidaDTO.piedrasBlancas.Add(piedraJugada);
            }

            _partida.CambiarJugadorActivo(partidaDTO);
        }
예제 #10
0
 public void LanzaExcepcionSiPuntoSolicitadoNoExiste(PartidaDTO partidaEnJuego, string idPunto)
 {
     _tablero.ObtenerPuntoPorId(partidaEnJuego.tablero, idPunto);
 }