Ejemplo n.º 1
0
        public void parar()
        {
            hiloDatosPuerto.Abort();
            timer.Stop();
            play = false;
            usuario.setNivel(this.nivel);
            int tiempo_int;

            try
            {
                tiempo_int = Convert.ToInt32(txtTiempo.Text);
            }catch (Exception e) {
                tiempo_int = 0;
            }
            usuario.setTiempo(tiempo_int);
            usuario.setPuntos(puntos);
            if (txtNivel.InvokeRequired || txtPuntos.InvokeRequired || btn_salir.InvokeRequired)
            {
                //si es así entonces volvemos a llamar a CambiarProgreso pero esta vez a través del delegado
                //instanciamos el delegado indicandole el método que va a ejecutar
                mostrarDatosDelegado   delegado      = new mostrarDatosDelegado(mostrarDatosForm);
                habilitarBotonDelegado delegadoBoton = new habilitarBotonDelegado(habilitarBoton);
                //ya que el delegado invocará a CambiarProgreso debemos indicarle los parámetros
                //invocamos el método a través del mismo contexto del formulario (this) y enviamos los parámetros
                txtNivel.Invoke(delegado);
                btn_salir.Invoke(delegadoBoton);
            }
            else
            {
                mostrarDatosForm();
                habilitarBoton();
            }
        }
Ejemplo n.º 2
0
        public void Comer()
        {
            puntos += 1;
            serpiente.Crecer();
            if (txtNivel.InvokeRequired || txtPuntos.InvokeRequired)
            {
                //si es así entonces volvemos a llamar a CambiarProgreso pero esta vez a través del delegado
                //instanciamos el delegado indicandole el método que va a ejecutar
                mostrarDatosDelegado delegado = new mostrarDatosDelegado(mostrarDatosForm);
                //ya que el delegado invocará a CambiarProgreso debemos indicarle los parámetros
                //invocamos el método a través del mismo contexto del formulario (this) y enviamos los parámetros
                txtPuntos.Invoke(delegado);
            }
            else
            {
                mostrarDatosForm();
            }
            switch (puntos)
            {
            case 10:
                nivel = 2;
                tablero.setNivel(nivel);
                serpiente.setSerpienteNivel(nivel);
                velocidad = 600;
                if (txtNivel.InvokeRequired)
                {
                    //si es así entonces volvemos a llamar a CambiarProgreso pero esta vez a través del delegado
                    //instanciamos el delegado indicandole el método que va a ejecutar
                    mostrarDatosDelegado delegado = new mostrarDatosDelegado(mostrarDatosForm);
                    //ya que el delegado invocará a CambiarProgreso debemos indicarle los parámetros
                    //invocamos el método a través del mismo contexto del formulario (this) y enviamos los parámetros
                    txtNivel.Invoke(delegado);
                }
                else
                {
                    mostrarDatosForm();
                }
                break;

            case 15:
                nivel = 3;
                tablero.setNivel(nivel);
                serpiente.setSerpienteNivel(nivel);
                velocidad = 400;
                Console.WriteLine("nivel 2");
                if (txtNivel.InvokeRequired)
                {
                    //si es así entonces volvemos a llamar a CambiarProgreso pero esta vez a través del delegado
                    //instanciamos el delegado indicandole el método que va a ejecutar
                    mostrarDatosDelegado delegado = new mostrarDatosDelegado(mostrarDatosForm);
                    //ya que el delegado invocará a CambiarProgreso debemos indicarle los parámetros
                    //invocamos el método a través del mismo contexto del formulario (this) y enviamos los parámetros
                    txtNivel.Invoke(delegado);
                }
                else
                {
                    mostrarDatosForm();
                }
                break;

            case 20:
                ganador = true;
                MessageBox.Show("Has GANADO");
                break;
            }
        }