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