Ejemplo n.º 1
0
        /// <summary>
        /// Cambia la posicion de la ficha cuando cae en un portal
        /// </summary>
        /// <param name="idSala">Sala de la partida</param>
        /// <param name="ficha">ficah que cambiará de posición</param>
        public void CambiarPosicionFicha(int idSala, Ficha ficha)
        {
            int indice        = BuscarSala(idSala);
            var fichaACambiar = salasAbiertas[indice].Fichas.Find(x => x.ApodoJugador == ficha.ApodoJugador);

            fichaACambiar.Posicion = ficha.Posicion;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Recibe la ficha que elegió el jugador y la añade a la lista de
        /// fichas, si no todos han elegido fichas se vuelve a llamar al callback para elegir ficha,
        /// si todos eligieron ficha llama al calback para tirar
        /// </summary>
        /// <param name="idSala">Sala del juego</param>
        /// <param name="ficha">Ficha elegida por el Jugador</param>
        public void AsignarFicha(int idSala, Ficha ficha)
        {
            int indice = BuscarSala(idSala);

            salasAbiertas[indice].Fichas.Add(ficha);
            foreach (var miembro in salasAbiertas[indice].DiccionarioJugadores.Keys)
            {
                miembro.MostrarFichaElegida(ficha);
            }
            SiguienteTurno(indice);
            var jugador       = salasAbiertas[indice].JugadorEnTurno;
            var fichaTemporal = salasAbiertas[indice].Fichas.Find(x => x.ApodoJugador.Equals(jugador));

            if (fichaTemporal == null)
            {
                foreach (var miembro in salasAbiertas[indice].DiccionarioJugadores.Keys)
                {
                    miembro.ElegirFicha(salasAbiertas[indice].JugadorEnTurno, salasAbiertas[indice].Fichas.ToArray());
                }
            }
            else
            {
                foreach (var miembro in salasAbiertas[indice].DiccionarioJugadores.Keys)
                {
                    miembro.Tirar(salasAbiertas[indice].JugadorEnTurno);
                }
            }
        }