public void TurnoJugador(Button button) { int columnas = (int)Session["columnas"] + 1; int filas = (int)Session["filas"] + 1; List <Ficha> fichas = (List <Ficha>)Session["fichas"]; Boolean turno = (Boolean)Session["turno"]; Juego metodos = new Juego(); Boolean apertura = AperturaPersonalizada(false); if (fichas.Count >= 4) { if (metodos.ValidadAccion(button)) { Accion(button); metodos.Limpiar((int)Session["columnas"] + 1, (int)Session["filas"] + 1); metodos.MovimientosPosibles((Boolean)Session["turno"], (int)Session["columnas"] + 1, (int)Session["filas"] + 1); ValidarGanadores(); } } else if (apertura) { if (metodos.ValidadAccion(button)) { Accion(button); if (fichas.Count == 4) { metodos.MovimientosPosibles((Boolean)Session["turno"], (int)Session["columnas"] + 1, (int)Session["filas"] + 1); } int[,] matriz = (int[, ])Session["matriz"]; int[] fichasT = metodos.ContarFichas(matriz, columnas, filas); ImprimirMatriz(matriz, columnas, filas); int fichasJ1 = fichasT[0]; int fichasJ2 = fichasT[1]; Label10.Text = "" + (int)Session["movimientosJ1"]; Label18.Text = "" + (int)Session["movimientosJ2"]; Label8.Text = "" + fichasJ1; Label16.Text = "" + fichasJ2; } } }
public void LimpiarTablero(List <Ficha> fichas, Tablero tab, LinkedList <string> listaJ1, LinkedList <string> listaJ2) { Juego metodos = new Juego(); int[,] matriz = new int[tab.columnas, tab.filas]; foreach (Ficha item in fichas) { int[] coor = metodos.Coordenada(item.columna + item.fila); if (item.color == listaJ1.Find(item.color).Value) { matriz[coor[0], coor[1]] = 2; } else if (item.color == listaJ2.Find(item.color).Value) { matriz[coor[0], coor[1]] = 1; } } Session["matriz"] = matriz; ImprimirMatriz(matriz, tab.columnas, tab.filas); metodos.Limpiar(tab.columnas, tab.filas); }
public void ValidarGanadores() { int columnas = (int)Session["columnas"] + 1; int filas = (int)Session["filas"] + 1; Juego metodos = new Juego(); Partida partida = new Partida(); int[,] matriz = (int[, ])Session["matriz"]; int[] fichas = metodos.ContarFichas(matriz, columnas, filas); ImprimirMatriz(matriz, columnas, filas); int fichasJ1 = fichas[0]; int fichasJ2 = fichas[1]; int fjugador1, fjugador2; Boolean condicion1 = fichasJ1 > fichasJ2; Boolean condicion2 = fichasJ1 < fichasJ2; Boolean modoInverso = (Boolean)Session["inverso"]; if (modoInverso) { condicion1 = !condicion1; condicion2 = !condicion2; } Label10.Text = "" + (int)Session["movimientosJ1"]; Label18.Text = "" + (int)Session["movimientosJ2"]; fjugador1 = fichasJ1; fjugador2 = fichasJ2; Label8.Text = "" + fichasJ1; Label16.Text = "" + fichasJ2; Boolean movOtroJ = metodos.MovimientosPosibles(!(Boolean)Session["turno"], columnas, filas); metodos.Limpiar(columnas, filas); Boolean movTurnoAct = metodos.MovimientosPosibles((Boolean)Session["turno"], columnas, filas); if (fichasJ1 + fichasJ2 == columnas * filas || !movTurnoAct && !movOtroJ) { string resultado = null; if (condicion1) { string script = "alert('Gana Jugador 1!');"; ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, true); resultado = "Ganador"; } else if (condicion2) { string script = "alert('Gana Jugador 2!');"; ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, true); resultado = "Perdedor"; } else if (fichasJ1 == fichasJ2) { string script = "alert('Empate!');"; ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, true); resultado = "Empate"; } //partida = Datos(fjugador1, fjugador2); partida.resultado = resultado; //RegistrarPartida(partida); } else if (movTurnoAct) { } else if (!movTurnoAct) { Session["turno"] = !(Boolean)Session["turno"]; string script = "alert('No puedes mover! :c');"; ScriptManager.RegisterStartupScript(this, typeof(Page), "alerta", script, true); metodos.MovimientosPosibles((Boolean)Session["turno"], columnas, filas); } }