//crear un juego, a partir de dos dimenciones, un modo de juego, dificultad ...
 public Juego(ServicioSoapTarea.Jugador jugador, int x, int y, int dificultad, int modo)
 {
     j1 = jugador;
     if (modo == 0)//modo no diseñador
     {
         if (dificultad == 1)
         {
             tablero = new Tablero(x, y, dificultad, 0);
             turnoss = 20;
         }
         if (dificultad == 2)
         {
             tablero = new Tablero(x, y, dificultad, 0);
             turnoss = 30;
         }
     }
     else//modo diseñador
     {
         tablero = new Tablero(x, y, dificultad, modo);
     }
 }
        //boton siguiente
        public void button1_Click(object sender, EventArgs e)
        {
            String nombre;
            String pass;

            if (this.textBox1.Text == null || this.textBox2.Text == null)
            {
                MessageBox.Show("Campos incompletos");
            }
            else
            {
                nombre = this.textBox1.Text; //Nombre de usuario
                pass   = this.textBox2.Text; //Contraseña
                try
                {
                    //Verificar que el usuario y contraseña exista
                    ServicioSoapTarea.Jugador j = new ServicioSoapTarea.Jugador();
                    j = servicio.verificar(nombre, pass);
                    if (j != null)
                    {
                        MessageBox.Show("Datos correctos, Ingresando...");
                        Form2 nuevo = new Form2(j, this);//Vista de las caracteristicas del tablero
                        nuevo.Show();
                        this.Hide();
                    }
                    else
                    {
                        //Si se equivoco en algun campo o los datos no existen
                        MessageBox.Show("Datos incorrectos");
                    }
                }
                catch (Exception w)
                {
                    MessageBox.Show(w.ToString());
                }
            }
        }
        //boton intercambio, realizar toda la jugada
        public void intercambio_Click(object sender, EventArgs e)
        {
            int  a, b, c, d;
            bool x, y, z, w;

            x = int.TryParse(this.textBoxFilaUno.Text, out a);
            y = int.TryParse(this.textBox2ColUno.Text, out b);
            z = int.TryParse(this.textBox3FilaDos.Text, out c);
            w = int.TryParse(this.textBox4ColDos.Text, out d);

            if ((actual.tableroo.tablero[a, b] != 0) && (actual.tableroo.tablero[c, d] != 0))
            {
                //intercambio de dos caramelos
                actual.intercambioCaramelos(a, b, c, d);
                mostrar();
                int puntaje;
                Console.Write("\n");
                int[] arreglo = actual.checkCandies();
                if (arreglo == null)//no hay grupo de caramelos iguales
                {
                    Console.Write("no hay grupo de caramelos");
                }
                else
                {
                    if (arreglo[0] == 0)//Grupo se encuentra en fila
                    {
                        if (actual.tableroo.tablero[arreglo[1], arreglo[2]] == 1)
                        {//Grupo en fila de tipo 1, CARAMELO ESPECIAL
                            actual.eliminarGrupoCaramelosFila(arreglo);
                            mostrar();
                            Console.Write("\n");
                            //Capacidad especial del caramelo tipo 1: Eliminar la fila en donde se
                            //encuentra el grupo y ademas eliminar filas adyacentes (arriba o abajo)
                            actual.eliminarfilaUnos(arreglo);
                            mostrar();
                            Console.Write("\n");
                            actual.eliminarFilasAdyacentes(arreglo);
                            mostrar();
                            Console.Write("\n");
                            //actualizar botones
                            actualizarTablero();
                            //Si hay grupo de caramelos
                            int[] arreglo1 = actual.checkCandies();
                            if (arreglo1 != null)                           //Si hay
                            {
                                otrajugada(arreglo1);                       //realizar las explociones
                                puntaje = actual.calcularPuntaje(arreglo1); //puntaje
                                //Instancia del jugador del servicio
                                //(Se ocupa el modelo "jugador" del servicio)
                                ServicioSoapTarea.Jugador j = new ServicioSoapTarea.Jugador();
                                try
                                {//actualizar puntaje
                                    ThreadStart start = delegate { servicio.actualizarPuntaje(puntaje, j.Nombre); };
                                    Thread      t     = new Thread(start);
                                    t.Start();
                                    label2.Text = puntaje.ToString();
                                    label2.Show();
                                }
                                catch (Exception r)
                                {
                                    MessageBox.Show(r.ToString());
                                }
                                if (actual.verificarRecubrimientos() == true)//si no quedan recubrimientos en tablero (ceros)
                                {
                                    MessageBox.Show("juego terminado, su puntaje es: !!" + puntaje);
                                    this.InicioJuego.Enabled    = false;
                                    this.intercambio.Enabled    = false;
                                    this.grupoCaramelos.Enabled = false;
                                }
                            }
                            int turn = actual.turnos - 1;  //disminucion de los movimientos disponibles
                            label1.Text = turn.ToString(); //mostrar la cantidad de movimientos disponibles
                            label1.Show();
                        }
                        else//Grupo de caramelos iguales en fila, caramelos distintos al tipo 1
                        {
                            //eliminar grupo de caramelos
                            actual.eliminarGrupoCaramelosFila(arreglo);
                            mostrar();
                            Console.Write("\n");
                            Console.Write("\n");
                            // eliminar ceros adyacentes
                            actual.eliminarRecubrimientoFila(arreglo);
                            mostrar();
                            Console.Write("\n");
                            Console.Write("\n");
                            //actualizar botones
                            actualizarTablero();
                            //Si hay grupo de caramelos
                            int[] arreglo1 = actual.checkCandies();
                            if (arreglo1 != null)
                            {                                               //Hay grupo
                                otrajugada(arreglo1);                       //realizar explociones
                                puntaje = actual.calcularPuntaje(arreglo1); //punntaje
                                ServicioSoapTarea.Jugador j = new ServicioSoapTarea.Jugador();
                                try
                                {//actualizar puntaje
                                    ThreadStart start = delegate { servicio.actualizarPuntaje(puntaje, j.Nombre); };
                                    Thread      t     = new Thread(start);
                                    t.Start();
                                    label2.Text = puntaje.ToString();//mostrar puntaje
                                    label2.Show();
                                }
                                catch (Exception r)
                                {
                                    MessageBox.Show(r.ToString());
                                }

                                if (actual.verificarRecubrimientos() == true)//si no quedan recubrimientos en tablero (ceros)
                                {
                                    MessageBox.Show("juego terminado, su puntaje es: !!" + puntaje);
                                    this.InicioJuego.Enabled    = false;
                                    this.intercambio.Enabled    = false;
                                    this.grupoCaramelos.Enabled = false;
                                }
                            }
                            int turn = actual.turnos - 1;  //Disminucion de los movimientos disponibles
                            label1.Text = turn.ToString(); //mostrar cantidad de movimientos
                            label1.Show();
                        }
                    }
                    else//Grupo en columna
                    {
                        //Eliminar grupo en columna
                        actual.eliminarGrupoCaramelosCol(arreglo);
                        mostrar();
                        Console.Write("\n");
                        //eliminar ceros adyacentes
                        actual.eliminarRecubrimientoColumna(arreglo);
                        mostrar();
                        Console.Write("\n");
                        Console.Write("\n");
                        //actualizar botones
                        actualizarTablero();
                        //si hay grupo de caramelos
                        int[] arreglo1 = actual.checkCandies();
                        if (arreglo1 != null)
                        {                                               //si hay Grupo
                            otrajugada(arreglo1);                       //Realizar explociones
                            puntaje = actual.calcularPuntaje(arreglo1); //puntaje
                            ServicioSoapTarea.Jugador j = new ServicioSoapTarea.Jugador();
                            try
                            {//actualizar puntaje
                                ThreadStart start = delegate { servicio.actualizarPuntaje(puntaje, j.Nombre); };
                                Thread      t     = new Thread(start);
                                t.Start();
                                label2.Text = puntaje.ToString();//mostrar puntaje
                                label2.Show();
                            }
                            catch (Exception r)
                            {
                                MessageBox.Show(r.ToString());
                            }
                            if (actual.verificarRecubrimientos() == true)//Si no hay recubrimientos en tablero
                            {
                                MessageBox.Show("juego terminado, su puntaje es: !!" + puntaje);
                                this.InicioJuego.Enabled    = false;
                                this.intercambio.Enabled    = false;
                                this.grupoCaramelos.Enabled = false;
                            }
                        }
                        int turn = actual.turnos - 1;  //Disminucion de la cantidad de movimientos disponibles
                        label1.Text = turn.ToString(); //Mostrar cantidad de movimientos
                        label1.Show();
                    }
                }
            }
            else
            {//Si se mueve un recubrimiento duro, (cero)
                MessageBox.Show("No se puede mover un recubrimiento duro !!");
            }
        }
Exemple #4
0
 public Form2(ServicioSoapTarea.Jugador jugador1, Form ant)
 {
     anterior = ant;
     j        = jugador1;
     InitializeComponent();
 }
        //realizar la jugada (misma que en modo no diseñador
        private void intercambio_Click(object sender, EventArgs e)
        {
            int  a, b, c, d;
            bool x, y, z, w;

            x = int.TryParse(this.textBoxFilaUno.Text, out a);
            y = int.TryParse(this.textBox2ColUno.Text, out b);
            z = int.TryParse(this.textBox3FilaDos.Text, out c);
            w = int.TryParse(this.textBox4ColDos.Text, out d);

            if ((actual.tableroo.tablero[a, b] != 0) && (actual.tableroo.tablero[c, d] != 0))
            {
                actual.intercambioCaramelos(a, b, c, d);
                actualizarTablero();
                mostrar();
                int puntaje;
                Console.Write("\n");
                int[] arreglo = actual.checkCandies();
                if (arreglo == null)
                {
                    Console.Write("no hay grupo de caramelos");
                }
                else
                {
                    if (arreglo[0] == 0)
                    {
                        if (actual.tableroo.tablero[arreglo[1], arreglo[2]] == 1)
                        {
                            actual.eliminarGrupoCaramelosFila(arreglo);
                            mostrar();
                            Console.Write("\n");
                            actual.eliminarfilaUnos(arreglo);
                            mostrar();
                            Console.Write("\n");
                            actual.eliminarFilasAdyacentes(arreglo);
                            mostrar();
                            Console.Write("\n");
                            actualizarTablero();
                            int[] arreglo1 = actual.checkCandies();
                            if (arreglo1 != null)
                            {
                                actual.turnos--;
                                Console.Write(actual.turnos);
                                otrajugada(arreglo1);//termino de jugada
                                puntaje = actual.calcularPuntaje(arreglo1);
                                ServicioSoapTarea.Jugador j = new ServicioSoapTarea.Jugador();
                                try
                                {
                                    ThreadStart start = delegate { servicio.actualizarPuntaje(puntaje, j.Nombre); };
                                    Thread      t     = new Thread(start);
                                    t.Start();
                                    label3.Text = puntaje.ToString();
                                    label3.Show();
                                }
                                catch (Exception r)
                                {
                                    MessageBox.Show(r.ToString());
                                }
                                if (actual.verificarRecubrimientos() == true)
                                {
                                    MessageBox.Show("juego terminado, su puntaje es: !!" + puntaje);
                                    this.InicioJuego.Enabled    = false;
                                    this.intercambio.Enabled    = false;
                                    this.grupoCaramelos.Enabled = false;
                                }
                            }
                            int turn = actual.turnos - 1;
                            label4.Text = turn.ToString();
                            label4.Show();
                        }
                        else
                        {
                            actual.eliminarGrupoCaramelosFila(arreglo);
                            mostrar();
                            Console.Write("\n");
                            Console.Write(arreglo.Length);
                            actual.eliminarRecubrimientoFila(arreglo);//eliminar ceros adyacentes
                            mostrar();
                            Console.Write("\n");
                            Console.Write("\n");
                            actualizarTablero();
                            int[] arreglo1 = actual.checkCandies();
                            if (arreglo1 != null)
                            {
                                actual.turnos--;
                                Console.Write(actual.turnos);
                                otrajugada(arreglo1);
                                puntaje = actual.calcularPuntaje(arreglo1);
                                ServicioSoapTarea.Jugador j = new ServicioSoapTarea.Jugador();
                                try
                                {
                                    ThreadStart start = delegate { servicio.actualizarPuntaje(puntaje, j.Nombre); };
                                    Thread      t     = new Thread(start);
                                    t.Start();
                                    label3.Text = puntaje.ToString();
                                    label3.Show();
                                }
                                catch (Exception r)
                                {
                                    MessageBox.Show(r.ToString());
                                }

                                if (actual.verificarRecubrimientos() == true)
                                {
                                    MessageBox.Show("juego terminado, su puntaje es: !!" + puntaje);
                                    this.InicioJuego.Enabled    = false;
                                    this.intercambio.Enabled    = false;
                                    this.grupoCaramelos.Enabled = false;
                                }
                            }
                            int turn = actual.turnos - 1;
                            label4.Text = turn.ToString();
                            label4.Show();
                        }
                    }
                    else//grupo en columna
                    {
                        actual.eliminarGrupoCaramelosCol(arreglo);
                        mostrar();
                        Console.Write("\n");
                        actual.eliminarRecubrimientoColumna(arreglo);//eliminar ceros adyacentes
                        mostrar();
                        Console.Write("\n");
                        Console.Write("\n");
                        actualizarTablero();
                        int[] arreglo1 = actual.checkCandies();
                        if (arreglo1 != null)
                        {
                            actual.turnos--;
                            Console.Write(actual.turnos);
                            otrajugada(arreglo1);
                            puntaje = actual.calcularPuntaje(arreglo1);
                            ServicioSoapTarea.Jugador j = new ServicioSoapTarea.Jugador();
                            try
                            {
                                ThreadStart start = delegate { servicio.actualizarPuntaje(puntaje, j.Nombre); };
                                Thread      t     = new Thread(start);
                                t.Start();
                                label3.Text = puntaje.ToString();
                                label3.Show();
                            }
                            catch (Exception r)
                            {
                                MessageBox.Show(r.ToString());
                            }
                            if (actual.verificarRecubrimientos() == true)
                            {
                                MessageBox.Show("juego terminado, su puntaje es: !!" + puntaje);
                                this.InicioJuego.Enabled    = false;
                                this.intercambio.Enabled    = false;
                                this.grupoCaramelos.Enabled = false;
                            }
                        }
                        int turn = actual.turnos - 1;
                        label4.Text = turn.ToString();
                        label4.Show();
                    }
                }
            }
            else
            {
                MessageBox.Show("No se puede mover un recubrimiento duro !!");
            }
        }