示例#1
0
        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;
                }
            }
        }
示例#2
0
        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);
            }
        }