/// <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; }
/// <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); } } }