.

9 jul. 2011

JUEGOS EN JLEX Y JAVA CUP

EN ESTE PROYECTO SE UTILIZO LAS HERRAMIENTAS DE JLEX Y JAVA CUP PARA LA SINTAXIS DE LOS JUEGOS
EL ENUNCIADO DE LOS 4 JUEGOS HECHOS EN JAVA SON:
JUEGOS EN JLEX Y JAVACUP

1ER JUEGO (DIAGRAMA DE LETRAS O SOPA DE LETRAS)


EL ARCHIVO  DE ENTRADA(JLEX Y CUP)
LEXICO EN JLEX


01 package proyecto_1.Sopa_letras.Entrada;
02 import  com.sun.java_cup.internal.runtime.*;
03 
04 %%
05 
06 %class scanner
07     %public
08     %cup
09     %line
10     %full
11     %unicode
12     %ignorecase
13     %char
14         %eofval {
15             {
16             return new Symbol(Token.EOF, null);
17             }
18         %eofval
19     }
20 %state A
21 %state B
22 letra=[A-Za-zÑñ]
23 % {
24     /* Lista con errores sintacticos */
25     public LinkedList<Errores> lista=new LinkedList<Errores>();
26 
27     /* Metodo que es llamado al encontrar un error lexico */
28     private void ErrorScan(int linea, int columna, String valor) {
29         lista.add(new Errores(linea, columna, "Error lexico en el caracter "+valor) );
30         }
31 
32     %
33     }
34 %%
35 
36 [\n] { yychar=0;}
37 [ \t\r\n\f] { /* ignore white space. */ }
38 \? { /* ignore apostrofos. */ }
39 
40 <YYINITIAL>[\t\r\f] {/*no hace nada, aumenta una columna*/yychar++; }
41 <YYINITIAL>[\n] {yychar=0; yyline++;}
42 <YYINITIAL> {letra} { return new Symbol(Token.letra, yyline, yychar, yytext());}
43 <YYINITIAL>"," { yybegin(A); return new Symbol(Token.coma, yyline, yychar, yytext());}
44 <YYINITIAL>";" {yybegin(B);  return new Symbol(Token.pto_coma, yyline, yychar, yytext());}
45 <A> {letra} {yybegin(A); return new Symbol(Token.letra, yyline, yychar, yytext());}
46 <A>"," { yybegin(A); return new Symbol(Token.coma, yyline, yychar, yytext());}
47 <B> {letra} {yybegin(B); return new Symbol(Token.letra, yyline, yychar, yytext());}
48 <B>";" { yybegin(B); return new Symbol(Token.pto_coma, yyline, yychar, yytext());}
49 .                    { ErrorScan(yyline,yychar,yytext());  }
50 
51 





GRAMATICA EN CUP



01 package proyecto_1.Sopa_letras.Entrada;
02 
03 import java.util.LinkedList;
04 import  com.sun.java_cup.internal.runtime.*;
05 parser code
06 {
07 :
08     public LinkedList<Errores> lista=new LinkedList<Errores>();
09 
10     /**Metodo al que se llama automaticamente ante algun error sintactico.*/
11     public void syntax_error(Symbol s)
12     {
13         lista.add(new Errores(s.right+1,s.left,"Error sintactico Identificador " +s.value + " no reconocido." ));
14     }
15     /**Metodo al que se llama en el momento en que ya no es posible una recuperacion de errores.*/
16     public void unrecovered_syntax_error(Symbol s) throws java.lang.Exception{
17         lista.add(new Errores(s.right+1,s.left,"Error sintactico Identificador " +s.value + " no reconocido." ));
18     }
19 
20 :
21 }
22 action code
23 {
24 :
25     /*DECLARACION DE VARIABLES QUE SE PODRAN USAR EN LA GRAMATICA*/
26     public static int cant=0;
27     int i,j;
28     i=j=0;
29     public static String[][] matriz_facil = new String[dimension][dimension];
30     public static String[][] matriz_dificil = new String[dimension][dimension];
31 
32 
33 
34 :
35 }
36 /*DECLARACION DE LOS NO TERMINALES Y TERMINALES*/
37 terminal letra,coma,pto_coma;
38 non terminal INICIA, LISTA,SIGNO;
39 /*DONDE INICIA LA GRAMATICA*/
40 start with INICIA;
41 
42 INICIA ::= LISTA;
43 
44 /*ACEPTA ERRORES O DECLARACIONES DE VARIABLES RECUPERACION MODO PANICO*/
45 LISTA ::= LISTA SIGNO letra:
46           let2 {:
47                 if (Sopa_letra.dimension==6)
48 {
49 if (cant<36)
50     {
51         if (j==6)
52         {
53             i++;
54             j=0;
55             matriz_facil[i][j]=(String) let2;
56         }
57         else
58         {
59             matriz_facil[i][j]=(String) let2;
60             j++;
61             cant++;
62         }
63     }
64 }
65 if (Sopa_letra.dimension==8)
66 {
67 if (cant<64)
68     {
69         if (j==8)
70         {
71             i++;
72             j=0;
73             matriz_facil[i][j]=(String) let2;
74         }
75         else
76         {
77             matriz_facil[i][j]=(String) let2;
78             j++;
79             cant++;
80         }
81     }
82 }
83 :
84                }
85           | letra:
86           let {:
87                matriz_facil[0][0]=let;
88                cant++;
89                j++;
90                :
91               }
92           |
93 
94           | error {:
95                    System.out.println("Sintaxis incorrecta"); :
96                   } letra;
97 SIGNO::= coma | pto_coma;
98 

JLEX DEL JUEGO



01 package proyecto_1.Sopa_letras;
02 import java.awt.Color;
03 import java_cup.runtime.*;
04 
05 
06 import java.util.ArrayList;
07 
08 class Informacion_sopa
09 {
10     int nolinea;//no de linea
11     int nocolumna;// no de columna
12     int nocolumnafinal;
13     String texto;
14     Color nombre_color;
15     String tipo_palabra;
16 
17     Informacion_sopa(String text,int linea,int columna,int columnafinal,String tipo,Color color)
18     {
19         nolinea=linea;
20         nocolumna=columnafinal;
21         nocolumnafinal=columna;
22         tipo_palabra=tipo;
23         nombre_color=color;
24         texto=text;
25 
26     }
27 }
28 %%
29 %
30 {
31     public ArrayList<errore> ErrorLexico=new ArrayList<errore>();
32     int contador=0;
33     public Posicion Posicion=new Posicion();
34     %
35 }
36 %class Scanner
37     %public
38     %cup
39     %char
40     %line
41     %ignorecase
42     %full
43     %unicode
44     %eofval
45 {
46     return new Symbol(Token.EOF,null);
47     %eofval
48 }
49 
50 
51 Palabra=[a-zA-ZÑñ]([a-zA-ZÑñ])+
52         Letra=[a-zA-ZÑñ]
53               Digito=[0-9]
54                      %%
55                      [\n] { yychar=0;}
56                      [ \t\r\n\f] { /* ignore white space. */ }
57                      \? { /* ignore apostrofos. */ }
58 
59                      <YYINITIAL>[\t\r\f] {/*no hace nada, aumenta una columna*/yychar++; }
60                      <YYINITIAL>[\n] {yychar=0; yyline++;}
61                      <YYINITIAL> "buscar" { Posicion.ObtenerPosicion();
62                              Posicion.posicion+=yytext().length();
63                              Posicion.posicionf=Posicion.posicion-yytext().length();
64                              return new Symbol(Token.buscar,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"buscar",new Color(0,255,0)));
65                                           }
66                      <YYINITIAL>"cambiar"
67 {
68     Posicion.ObtenerPosicion();
69     Posicion.posicion+=yytext().length();
70     Posicion.posicionf=Posicion.posicion-yytext().length();
71     return new Symbol(Token.cambiar,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"cambiar",new Color(0,255,0)));
72 }
73 <YYINITIAL>"reemplazar"
74 {
75     Posicion.ObtenerPosicion();
76     Posicion.posicion+=yytext().length();
77     Posicion.posicionf=Posicion.posicion-yytext().length();
78     return new Symbol(Token.reemplazar,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"reemplazar",new Color(0,255,0)));
79 }
80 <YYINITIAL>"$"
81 {
82     Posicion.ObtenerPosicion();
83     Posicion.posicion+=yytext().length();
84     Posicion.posicionf=Posicion.posicion-yytext().length();
85     return new Symbol(Token.Dolar,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"Dolar",new Color(255,0,0)));
86 }
87 <YYINITIAL>"%"
88 {
89     Posicion.ObtenerPosicion();
90     Posicion.posicion+=yytext().length();
91     Posicion.posicionf=Posicion.posicion-yytext().length();
92     return new Symbol(Token.Porcentaje,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"Porcentaje",new Color(255,0,0)));
93 }
94 <YYINITIAL> {Palabra}
95 {
96     Posicion.ObtenerPosicion();
97     Posicion.posicion+=yytext().length();
98     Posicion.posicionf=Posicion.posicion-yytext().length();
99     return new Symbol(Token.Palabra,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"Palabra",new Color(255,0,0)));
100 }
101 
102 <YYINITIAL> {Letra}
103 {
104     Posicion.ObtenerPosicion();
105     Posicion.posicion+=yytext().length();
106     Posicion.posicionf=Posicion.posicion-yytext().length();
107     return new Symbol(Token.Letra,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"Letra",new Color(255,0,0)));
108 }
109 <YYINITIAL>"fila"
110 {
111     Posicion.ObtenerPosicion();
112     Posicion.posicion+=yytext().length();
113     Posicion.posicionf=Posicion.posicion-yytext().length();
114     return new Symbol(Token.fila,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"fila",new Color(255,0,0)));
115 
116 }
117 <YYINITIAL>"columna"
118 {
119     Posicion.ObtenerPosicion();
120     Posicion.posicion+=yytext().length();
121     Posicion.posicionf=Posicion.posicion-yytext().length();
122     return new Symbol(Token.columna,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"columna",new Color(255,0,0)));
123 
124 }
125 <YYINITIAL>"arriba"
126 {
127     Posicion.ObtenerPosicion();
128     Posicion.posicion+=yytext().length();
129     Posicion.posicionf=Posicion.posicion-yytext().length();
130     return new Symbol(Token.arriba,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"arriba",new Color(255,0,0)));
131 
132 }
133 <YYINITIAL>"abajo"
134 {
135     Posicion.ObtenerPosicion();
136     Posicion.posicion+=yytext().length();
137     Posicion.posicionf=Posicion.posicion-yytext().length();
138     return new Symbol(Token.abajo,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"abajo",new Color(255,0,0)));
139 
140 }
141 <YYINITIAL>"izquierda"
142 {
143     Posicion.ObtenerPosicion();
144     Posicion.posicion+=yytext().length();
145     Posicion.posicionf=Posicion.posicion-yytext().length();
146     return new Symbol(Token.izquierda,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"izquierda",new Color(255,0,0)));
147 
148 
149 }
150 <YYINITIAL>"derecha"
151 {
152     Posicion.ObtenerPosicion();
153     Posicion.posicion+=yytext().length();
154     Posicion.posicionf=Posicion.posicion-yytext().length();
155     return new Symbol(Token.derecha,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"derecha",new Color(255,0,0)));
156 
157 }
158 <YYINITIAL> {Digito}
159 {
160     Posicion.ObtenerPosicion();
161     Posicion.posicion+=yytext().length();
162     Posicion.posicionf=Posicion.posicion-yytext().length();
163     return new Symbol(Token.digito,new Informacion_sopa(yytext(),yyline,Posicion.posicion,Posicion.posicionf,"digito",new Color(255,0,0)));
164 
165 }
166 .
167 {
168     Posicion.ObtenerPosicion();
169     Posicion.posicion+=yytext().length();
170     Posicion.posicionf=Posicion.posicion-yytext().length();
171     System.err.println("\nCaracter No definido: " +yytext()+"\n\tEn la Linea: "+yyline+"\n\t\tPosicionInicial no.: "+Posicion.posicion+","+"\n\t\tPosicionFinal No:"+Posicion.posicionf);
172     ErrorLexico.add(new Errores("No Cumple El Caracter",yytext(),yyline+"",Posicion.posicion+"",Posicion.posicionf+"",""));
173 }


GRAMATICA (CUP) DEL JUEGO




01 package proyecto_1.Sopa_letras;
02 
03 
04 import java_cup.runtime.*;
05 
06 import java.util.ArrayList;
07 parser code
08 {
09 :
10     public ArrayList<errore> ErrorSintactico=new ArrayList<errore>();
11 
12 
13     public void syntax_error(Symbol s)
14     {
15         if (s.value!=null)
16         {
17             ErrorSintactico.add(new errore("No Cumple Con la Sintaxis",String.valueOf(((Informacion_sopa)s.value).texto),String.valueOf(((Informacion_sopa)s.value).nolinea),String.valueOf(((Informacion_sopa)s.value).nocolumna),String.valueOf(((Informacion_sopa)s.value).nocolumnafinal),String.valueOf(((Informacion_sopa)s.value).tipo_palabra)));
18             System.out.println("\nError Sintactico en la linea: "+String.valueOf(((Informacion_sopa)s.value).nolinea)+"\nEntre la Posicion : "+String.valueOf(((Informacion_sopa)s.value).nocolumna)+"-"+String.valueOf(((Informacion_sopa)s.value).nocolumnafinal)+"\nEn la Seccion de:  "+String.valueOf(((Informacion_sopa)s.value).tipo_palabra)+"\nCon el Texto:  \""+String.valueOf(((Informacion_sopa)s.value).texto+"\""));
19         }
20     }
21 
22     public void unrecovered_syntax_error(Symbol s)throws Exception
23     {
24         ErrorSintactico.add(new errore("No Cumple Con la Sintaxis",String.valueOf(((Informacion_sopa)s.value).texto),String.valueOf(((Informacion_sopa)s.value).nolinea),String.valueOf(((Informacion_sopa)s.value).nocolumna),String.valueOf(((Informacion_sopa)s.value).nocolumnafinal),String.valueOf(((Informacion_sopa)s.value).tipo_palabra)));
25         System.out.println("\nError Sintactico no se recupero en la linea: "+String.valueOf(((Informacion_sopa)s.value).nolinea)+"\nEntre la Posicion : "+String.valueOf(((Informacion_sopa)s.value).nocolumna)+"-"+String.valueOf(((Informacion_sopa)s.value).nocolumnafinal)+"\nEn la Seccion de:  "+String.valueOf(((Informacion_sopa)s.value).tipo_palabra)+"\nCon el Texto:  \""+String.valueOf(((Informacion_sopa)s.value).texto+"\""));
26         System.out.println("no se recupero el error"+s.value);
27     }
28 
29 :
30 }
31 action code
32 {
33 :
34     public ArrayList<errore> ErrorSemantico=new ArrayList<errore>();
35     public static ArrayList<Color_Letra> Palabra_Estilo=new ArrayList<Color_Letra>();
36     int contador=0;
37 :
38 }
39 
40 terminal Informacion_sopa
41 buscar,
42 cambiar,
43 reemplazar,
44 Dolar,
45 Porcentaje,
46 Palabra,
47 Letra,
48 fila,
49 columna,
50 arriba,
51 abajo,
52 izquierda,
53 derecha,
54 digito
55 ;
56 non terminal INICIO,CAMBIAR,BUSCAR,BUSCAR2,CAMBIAR2,CAMBIAR3,S, DEFINIDA,FILA, POS, ARR, COLUMNA,JUNTOS, LETRA,FILA2, COLUMNA2;
57 start with INICIO;
58 
59 INICIO::=   S;
60 S::=                    S DEFINIDA
61                         | S CAMBIAR3
62 
63                         | CAMBIAR3
64 
65                         | DEFINIDA
66 
67 
68                         ;
69 DEFINIDA::=              BUSCAR2 FILA
70                          | BUSCAR2
71                          | BUSCAR2 COLUMNA
72                          | BUSCAR2 JUNTOS
73                          | BUSCAR2 LETRA;
74 CAMBIAR3::=  CAMBIAR2 Dolar Palabra:
75                 info {:
76                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
77                      }
78                 Dolar
79                 | CAMBIAR2 Porcentaje Letra:
80                 info {:
81                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
82                      }
83 
84                 Porcentaje;
85 
86 CAMBIAR2::=  CAMBIAR Dolar Palabra:
87                 info {:
88                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
89                      }
90                 Dolar
91                 | CAMBIAR Porcentaje Letra:
92                 info {:
93                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
94                      }
95                 Porcentaje
96                 | error;
97 
98 BUSCAR2::=   BUSCAR Dolar Palabra:
99                 info {:
100                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
101                      }
102                 Dolar
103 
104                 | BUSCAR Porcentaje Letra:
105                 info {:
106                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
107                      }
108                 Porcentaje
109                 | error
110                 ;
111 
112 BUSCAR::=   buscar:
113                 info {:
114                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
115                      }
116                 ;
117 CAMBIAR::=   cambiar:
118                 info {:
119                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
120                      }
121 
122                 | reemplazar:
123                 info {:
124                       Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
125                      }
126                 ;
127 
128 
129 
130 LETRA ::= FILA2 ARR
131           | COLUMNA2 ARR
132           | POS ARR;
133 POS ::= arriba:
134         info {:
135               Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
136              }
137 
138         | abajo:
139         info {:
140               Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
141              }
142 
143         | izquierda:
144         info {:
145               Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
146              }
147 
148         | derecha:
149         info {:
150               Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
151              }
152         ;
153 
154 ARR ::= Porcentaje Letra:
155         info {:
156               Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
157              }
158         Porcentaje;
159 JUNTOS ::= FILA COLUMNA;
160 FILA ::= FILA2 digito:
161          info2 {:
162                 Palabra_Estilo.add(new Color_Letra(info2.texto,info2.tipo_palabra,info2.nombre_color,info2.nocolumna+contador,info2.nocolumnafinal+contador)); :
163                }
164          ;
165 
166 COLUMNA ::= COLUMNA2 digito:
167             info2 {:
168                    Palabra_Estilo.add(new Color_Letra(info2.texto,info2.tipo_palabra,info2.nombre_color,info2.nocolumna+contador,info2.nocolumnafinal+contador)); :
169                   }
170             ;
171 COLUMNA2 ::= columna:
172              info {:
173                    Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
174                   };
175 FILA2 ::= fila:
176           info {:
177                 Palabra_Estilo.add(new Color_Letra(info.texto,info.tipo_palabra,info.nombre_color,info.nocolumna+contador,info.nocolumnafinal+contador)); :
178                };
179 




CLASE COLOR: VERIFICA EL COLOR DE CADA PALABRA

01 package proyecto_1.Sopa_letras;
02 /*
03  * Color_Letra.java
04  *
05  * Created on 1 de noviembre de 2007, 01:33 AM
06  *
07  * To change this template, choose Tools | Template Manager
08  * and open the template in the editor.
09  */
10 
11 //package ide2;
12 import java.awt.Color;
13 /**
14  *
15  * @author Administrador
16  */
17 
18 public class Color_Letra
19 {
20 
21     private String Texto;
22 
23     private String Tipo;
24 
25     private Color color;
26 
27     private int Posicion;
28 
29     private int PosicionI;
30 
31     /** Creates a new instance of Color_Letra */
32     public Color_Letra(String Texto,String Tipo,Color color,int PosicionI,int Posicion)
33     {
34         this.Texto=Texto;
35         this.Tipo=Tipo;
36         this.color=color;
37         this.Posicion=Posicion;
38         this.PosicionI=PosicionI;
39     }
40 
41 
42     public String getTexto()
43     {
44         return this.Texto;
45     }
46 
47     public String getTipo()
48     {
49         return this.Tipo;
50     }
51 
52     public int getPosicion()
53     {
54         return Posicion;
55     }
56 
57     public int getPosicionI()
58     {
59         return PosicionI;
60     }
61 
62     public Color getColor()
63     {
64         return this.color;
65     }
66     public void setColor(Color color)
67     {
68         this.color = color;
69     }
70 
71     public void setTexto(String Texto)
72     {
73         this.Texto = Texto;
74     }
75 
76     public void setTipo(String Tipo)
77     {
78         this.Tipo = Tipo;
79     }
80 
81     public void setPosicion(int Posicion)
82     {
83         this.Posicion = Posicion;
84     }
85     public void setPosicionI(int PosicionI)
86     {
87         this.PosicionI = PosicionI;
88     }
89 }
90 




CLASE ERRORE: MANEJA ERRORES LEXICOS Y SINTACTICOS DEL JUEGO

01 package proyecto_1.Sopa_letras;
02 
03 
04 public class errore
05 {
06 
07     private String Texto;
08     private String Linea;
09     private String ColumnaInicial;
10     private String ColumnaFinal;
11     private String Descripcion;
12     private String InformacionSecundaria;
13     /** Creates a new instance of Errores */
14     public errore(String descripcion,String texto,String linea,String columnainicial,String columnafinal,String informacionsecundaria)
15     {
16         this.Texto=texto;
17         this.Linea=linea;
18         this.ColumnaInicial=columnainicial;
19         this.ColumnaFinal=columnafinal;
20         this.Descripcion=descripcion;
21         this.InformacionSecundaria=informacionsecundaria;
22     }
23     public String ObtenerTexto()
24     {
25         return this.Texto;
26     }
27     public String ObtenerLinea()
28     {
29         return this.Linea;
30     }
31     public String ObtenerColumnaInicial()
32     {
33         return this.ColumnaInicial;
34     }
35     public String ObtenerColumnaFinal()
36     {
37         return this.ColumnaFinal;
38     }
39     public String ObtenerDescripcion()
40     {
41         return this.Descripcion;
42     }
43     public String ObtenerInformacionSecundaria()
44     {
45         return this.InformacionSecundaria;
46     }
47 
48 
49 
50 }
51 


CLASE ERRORES: MANEJA LOS ERRORES DEL ARCHIVO DE ENTRADA

01 /*
02  * To change this template, choose Tools | Templates
03  * and open the template in the editor.
04  */
05 package proyecto_1.Sopa_letras;
06 
07 /**
08  *
09  * @author danilo */
10 public class Errores
11 {
12 
13     protected Integer Linea;
14     protected Integer Columna;
15     protected String Descripcion;
16 
17     public Errores(Integer Linea, Integer Columna, String Descripcion)
18     {
19         this.Linea = Linea;
20         this.Columna = Columna;
21         this.Descripcion = Descripcion;
22     }
23     public Errores() {}
24 
25     /**
26      * Get the value of Descripcion
27      *
28      * @return the value of Descripcion
29      */
30     public String getDescripcion()
31     {
32         return Descripcion;
33     }
34 
35     /**
36      * Set the value of Descripcion
37      *
38      * @param Descripcion new value of Descripcion
39      */
40     public void setDescripcion(String Descripcion)
41     {
42         this.Descripcion = Descripcion;
43     }
44 
45     /**
46      * Get the value of Columna
47      *
48      * @return the value of Columna
49      */
50     public Integer getColumna()
51     {
52         return Columna;
53     }
54 
55     /**
56      * Set the value of Columna
57      *
58      * @param Columna new value of Columna
59      */
60     public void setColumna(Integer Columna)
61     {
62         this.Columna = Columna;
63     }
64 
65 
66     /**
67      * Get the value of Linea
68      *
69      * @return the value of Linea
70      */
71     public Integer getLinea()
72     {
73         return Linea;
74     }
75 
76     /**
77      * Set the value of Linea
78      *
79      * @param Linea new value of Linea
80      */
81     public void setLinea(Integer Linea)
82     {
83         this.Linea = Linea;
84     }
85 
86 
87 }
88 



CLASE POSICION: VERIFICA LA POSICION EXACTA DEL TOKEN

01 package proyecto_1.Sopa_letras;
02 class Posicion
03 {
04     int posicion=0;
05     int No_posicion=0;
06     int posicionf=0;
07     int No_posicionf=0;
08     public Posicion() {}
09     void ObtenerPosicion()
10     {
11         No_posicion=posicion;
12         No_posicionf=posicionf;
13     }
14 }



CLASE MAS IMPORTANTE(LA PROGRAMACION DEL JUEGO)
http://www.mediafire.com/?6gc1kfqg6msj2a6

2DO JUEGO CRUCIGRAMA

3ER JUEGO PALABRAS VOLADORAS
Este juego analiza oraciones sintacticamente, semanticamente y esta hecho con multihilos(multithreads)






4TO JUEGO ES DE ORDENAR PALABRAS 
ADJUNTO EL PROYECTO COMPLETO  CON LOS 4 JUEGOS



3 comentarios:

  1. Buenas Amigo disculpa la molestia aun tendrás los archivos de tu Proyecto de ser así serias tan amable de proporcionármelos wolvering.leo@gmail.com

    ResponderEliminar
  2. hola, me he parecido muy intererante los juegos, yo quiero hacer una sopa de letras pero no tengo ni idea de java y no se ni como empezar, estoy realizando el proyecto final de ciclo de administrador de sistemas informaticos en red y he decidido hacer una aplicacion web con una sopa de letras como pasatiempo.
    Si no te importa pasarme la sopa de letras, te lo agradezco por anticipado, un saludo.
    gloria_jinetes@hotmail.com

    ResponderEliminar
  3. hola, me he parecido muy intererante los juegos, yo quiero hacer una sopa de letras pero no tengo ni idea de java y no se ni como empezar, estoy realizando el proyecto final de ciclo de administrador de sistemas informaticos en red y he decidido hacer una aplicacion web con una sopa de letras como pasatiempo.
    Si no te importa pasarme la sopa de letras, te lo agradezco por anticipado, un saludo.
    gloria_jinetes@hotmail.com

    ResponderEliminar