예제 #1
0
        //Timer, Cliclo infinito de las instrucciones dentro de este.
        private void timer1_Tick(object sender, EventArgs e)
        {
            Puntos_Snake.Text = Convert.ToString(puntos);
            nivel.Text        = Convert.ToString(Nivel);

            //Llamada a los metodos de movimiento
            if (abajo)
            {
                snake.mov_Abajo();
            }
            if (arriba)
            {
                snake.mov_Arriba();
            }
            if (izq)
            {
                snake.mov_Izquierda();
            }
            if (der)
            {
                snake.mov_Derecha();
            }

            //Cremicimiento al intersectar con la comida
            for (int i = 0; i < snake.Snakerec.Length; i++)
            {
                if (snake.Snakerec[i].IntersectsWith(comida.Comidarec))
                {
                    lvl += 1;

                    if (lvl == 10)
                    {
                        lvl    = 0;
                        Nivel += 1;
                    }

                    if (lvl == 5 || lvl == 0)
                    {
                        //piedra = new Piedra();
                        piedra.Agregar_Obstaculo();
                    }

                    puntos += 10;
                    snake.Crecimiento_Snake();
                    comida.Lugar_Comida(RComida);
                    if (timer1.Interval >= 10)
                    {
                        timer1.Interval -= 1;
                    }
                }
            }

            Choque();

            this.Invalidate();
        }