Esempio n. 1
0
 bool ejex = true, ejey = true;       // eje que se encuentra la serpiente
 public Snake()
 {
     InitializeComponent();
     Player.SoundLocation = "Gangplank_Galleon.wav";
     serpiente            = new Serpiente(190, 90);
     comida = new Comida();
     g      = Lienzo.CreateGraphics();
 }
        static void Main(string[] args)
        {
            Lienzo myLienzo = new Lienzo();

            myLienzo.AdicionaPuntos(new Point(0, 0));
            myLienzo.AdicionaPuntos(new Point(1, 1));
            myLienzo.AdicionaPuntos(new Point(5, 9));
            myLienzo.AdicionaPuntos(new Point(40, 34));
            myLienzo.AdicionaPuntos(new Point(6, 10));
            myLienzo.AdicionaPuntos(new Point(8, 12));
            myLienzo.AdicionaPuntos(new Point(7, 11));


            Lienzo lienzo = new Lienzo();

            //dibujo 1
            lienzo.AdicionaPuntos(new Point(5, 7), new Point(5, 8), new Point(5, 9),
                                  new Point(4, 9), new Point(4, 10));
            //dibujo 2
            lienzo.AdicionaPuntos(new Point(7, 8), new Point(7, 9));
            lienzo.AdicionaPuntos(new Point(8, 9), new Point(8, 10));
            //dibujo 3
            lienzo.AdicionaPuntos(new Point(10, 12), new Point(10, 13), new Point(10, 14),
                                  new Point(9, 13), new Point(11, 13));

            int i = 1;

            foreach (IEnumerable <Point> dibujo in lienzo.Dibujos())
            {
                Console.WriteLine("Figura {0}:", i++);
                foreach (Point p in dibujo)
                {
                    Console.WriteLine("({0};{1})", p.CoorX, p.CoorY);
                }
            }
            Console.WriteLine();

            Console.WriteLine("Puntos del dibujo que contiene a (5,8):");
            foreach (Point p in lienzo.Dibujo(new Point(5, 8)))
            {
                Console.WriteLine("({0};{1})", p.CoorX, p.CoorY);
            }

            Console.WriteLine();
            lienzo.AdicionaPuntos(new Point(6, 8), new Point(9, 11));

            i = 1;
            foreach (IEnumerable <Point> dibujo in lienzo.Dibujos())
            {
                Console.WriteLine("Figura {0}:", i++);
                foreach (Point p in dibujo)
                {
                    Console.WriteLine("({0};{1})", p.CoorX, p.CoorY);
                }
            }
        }
Esempio n. 3
0
        private void AnalisisDeExtends(List <String> Extends)
        {
            foreach (TabPage t in tabControl1.TabPages)
            {
                foreach (String name in Extends)
                {
                    if (name + ".lz" == t.Text)
                    {
                        Sintactico.raizDeArbol = null;
                        Sintactico.errores.Clear();
                        TabPage     aux    = t;
                        RichTextBox aux1   = (RichTextBox)t.Controls[0].Controls[1];
                        bool        result = Sintactico.analizar(aux1.Text);
                        if (result)
                        {
                            if (Sintactico.errores.Count() > 0)//SI EXISTEN ERRORES
                            {
                                foreach (ErrorEnAnalisis er in Sintactico.errores)
                                {
                                    this.Errores.Add(er);
                                }
                            }
                            Tabla_Simbolos tabla = new Tabla_Simbolos(Sintactico.raizDeArbol);
                            tabla.generarme_tabla();

                            Lienzo nuevo = new Lienzo(tabla.getProcedimientos(), tabla.getFunciones(), tabla.getVariables(), tabla.getExtends(), tabla.getNombre(), tabla.getVisibilidad());

                            this.LienzosCompilados.Add(nuevo);

                            AnalisisDeExtends(tabla.getExtends());

                            MeterDatosAListasGenerales(tabla.semanticos(), tabla.getTable());
                        }
                        else
                        {
                            foreach (ErrorEnAnalisis er in Sintactico.errores)//ERRORES FALTALES
                            {
                                this.Errores.Add(er);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 4
0
        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            if (tabControl1.TabPages.Count > 0)
            {
                this.Errores.Clear();
                this.TablaGenera.Clear();
                this.LienzosCompilados.Clear();
                Sintactico.raizDeArbol = null;
                Sintactico.errores.Clear();
                TabPage     tab             = (TabPage)tabControl1.TabPages[tabControl1.SelectedIndex];
                RichTextBox EntradaAnalizar = (RichTextBox)tabControl1.TabPages[tabControl1.SelectedIndex].Controls[0].Controls[1];
                bool        restult         = Sintactico.analizar(EntradaAnalizar.Text);
                if (restult)
                {
                    Resultado.Text      = "Válido";
                    Resultado.ForeColor = Color.Green;
                    if (Sintactico.errores.Count > 0)
                    {
                        MessageBox.Show("El analisis del archivo aun contiene errores", "Errores en Entrada", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        Tabla_Simbolos tabla = new Tabla_Simbolos(Sintactico.raizDeArbol);
                        tabla.generarme_tabla();
                        //List<Simbolo> simbolos = tabla.getTable();

                        //TablaSimbolosHTML reporte = new TablaSimbolosHTML(simbolos);
                        //reporte.generarTablaHTML();

                        Lienzo l = new Lienzo(tabla.getProcedimientos(), tabla.getFunciones(), tabla.getVariables(), tabla.getExtends(), tabla.getNombre(), tabla.getVisibilidad());
                        this.LienzosCompilados.Add(l);
                        AnalisisDeExtends(tabla.getExtends());
                        //Reporte re = new Reporte();
                        //re.ReporteDeErrores(tabla.semanticos(), "Errores");
                        MeterDatosAListasGenerales(tabla.semanticos(), tabla.getTable());

                        if (this.Errores.Count() > 0)
                        {
                            InfoErr.Text = "Existen Errores Semanticos";
                        }
                        else
                        {
                            Ejecucion  ej    = new Ejecucion(this.LienzosCompilados, this.TablaGenera);
                            AreaImagen nuevo = new AreaImagen();
                            nuevo.Show();
                            ej.IniciarEjecucion();
                            if (ej.getErrores().Count() > 0)
                            {
                                InfoErr.Text = "Existen Errores Semánticos";
                                foreach (ErrorEnAnalisis er in ej.getErrores())
                                {
                                    this.Errores.Add(er);
                                }
                            }
                            else
                            {
                                InfoErr.Text     = "Compilación Terminada";
                                this.TablaGenera = ej.getTablaNueva();
                                nuevo.Visible    = true;
                            }
                        }

                        /*MessageBox.Show("Lienzos Compilados: " + this.LienzosCompilados.Count());
                         * foreach (Lienzo h in this.LienzosCompilados)
                         * {
                         *  h.ReporteDeLienzo();
                         * }*/
                    }
                }
                else
                {
                    Resultado.Text = "Inválido";
                    MessageBox.Show("El analisis del archivo aun contiene errores sin recuperación", "Errores en Entrada", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    Resultado.ForeColor = Color.Red;
                }
            }
            else
            {
                MessageBox.Show("No hay Pestañas abiertas", "Error al Ejecutar", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }