SlideShare una empresa de Scribd logo
1 de 35
UNIVERSIDAD TÉCNICA DE MACHALA
FACULTAD DE INGENIERÍA CIVIL
ESCUELA DE INFORMÁTICA
PRIMER QUIMESTRE
PARALELO A
PROGRAMACIÓN 1
UTILITARIOS 1
“TABLAS DE MULTIPLICAR”
Proyecto Final de Asignatura
Autor es :
Torres Reyes , Carolina Vanessa
Tapia Moreno, Cristhofer Jonathan
Docente :
Ing. Fausto Redrován Castillo, Mg.
MACHALA - ECUADOR
AGOSTO, 2013
AUTORÍA:
Nosotros, Carolina Vanessa Torres Reyes, Cristhofer Jonathan Tapia Moreno, como
autores del presente trabajo de investigación, somos responsables de las
ideas, conceptos, procedimientos y resultados vertidos en la misma.
f………………………………. f……………………………….
Carolina Vanessa Torres Reyes Cristhofer Jonathan Tapia Moreno
C.I.: 0705827525 C.I.: 0706028016
Proyecto Final de Programación I Y UTILITARIOS i
Índice
1JUSTIFICACIÓN ...................................................................................5
2OBJETIVOS..........................................................................................6
Objetivo General.................................................................................6
Objetivos Específicos...........................................................................6
3ANTECEDENTES...................................................................................6
4MARCO TEÓRICO..................................................................................6
Swing...............................................................................................6
Awt..................................................................................................7
Componentes de Swing.......................................................................7
5MARCO METODOLÓGICO.......................................................................9
Análisis de resultados..........................................................................9
Ventana Inicio.................................................................................9
VENTANA MENU.............................................................................10
Solución...........................................................................................13
6CONCLUSIONES..................................................................................18
7RECOMENDACIONES...........................................................................18
8REFERENCIAS BIBLIOGRÁFICAS............................................................19
9ANEXOS............................................................................................19
Código fuente del programa................................................................19
Ventana Inicial..................................................................................19
Ventana Menu................................................................................21
Ventana Tablas...............................................................................23
Ventana Conceptos.........................................................................24
Ventana Juega Razona....................................................................25
Ventana Instrucciones.....................................................................29
Ventana Ahorcado..........................................................................30
Persistencia...................................................................................35
Documentación fotográfica..................................................................35
Índice de ilustraciones
Ilustración 1: Ingreso de nombre y edad del usuario..................................15
Ilustración 2: Elegir una opción ..............................................................16
Ilustración 3: Concepto de la multiplicación .............................................16
Ilustración 4: Aprende las tablas de multiplicar.........................................16
Ilustración 5: Nivel avanzado..................................................................17
Ilustración 6: Juega y Razona- Nivel facil.................................................17
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
1 JUSTIFICACIÓN
Este programa es necesario para aplicar los conocimientos aprendidos al transcurso del
semestre.
Se realiza para tener una mayor aprehensión en cuanto a os conocimientos adquiridos
en clase y asimismo, realizar uno en donde se combine la creatividad con las cualidades,
teniendo en cuenta las normas que se den en el mismo con un entorno sano.
Hasta hoy las metodologías utilizadas con relación a la enseñanza de la matemática se
han centrado principalmente en darle al estudiante una definición o una fórmula, para
luego resolver ejercicios siguiendo patrones de imitación, sin que los estudiantes
entiendan a veces lo que están haciendo, y en general no se desarrollara la capacidad
creadora e integradora del estudiante.
No se enfatizan los conceptos, pero sí los procedimientos, sin mucho sentido y dando
énfasis a la memorización.
La siguiente proyecto que mostraremos a continuación está basado en un lenguaje de
programación JAVA, en el IDE eclipse klepeer, ya que este es multiplataforma y funciona
en diferentes sistemas operativos.
Con este programa el usuario podrá jugar de una manera más fácil ya que tiene un
entorno interactivo y es muy fácil de manejar.
En la actualidad se ha superado la creencia o tendencia de considerar el juego como un
“tiempo perdido”. Este cambio, se ha visto reflejado en la inclusión de éste en las
actividades recreativas y aprendizaje de las habilidades lingüísticas básicas, siendo un
recurso educativo fundamental para potenciar la maduración del usuario.
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
2 OBJETIVOS
Objetivo General
◦ Aplicar los conocimientos adquiridos durante el semestre para desarrollo e
implementación de una aplicación en JAVA, que ayude al aprendizaje del
niño en el área de matemáticas.
Objetivos Específicos
• Determinar los procesos necesarios para la realización de la aplicación
• Realizar una interfaz gráfica adecuado, para que el usuario maneje con
facilidad la aplicación.
• Realizar una aplicación en java, utilizando algoritmos, estructuras y lo
necesario para realizar un buen programa.
3 ANTECEDENTES
En la actualidad el aprendizaje es un poco mas fácil ya de esta manera la
programación tiene como necesidad del ser humano de contar con herramientas y
medios que le permitan registrar y manipular la información y desarrollar
procedimientos lógicos para obtener diversos resultados a partir de la información ;
la cual se ha manifestado desde el caso simple de sumar y restar cantidades, hasta
alcanzar las nuevas formas de almacenar, procesar y manipular todo tipo de
información.
4 MARCO TEÓRICO
Swing
“ El paquete Swing es el nuevo paquete gráfico que ha aparecido en la versión 1.2
de Java. Esta compuesto por un amplio conjunto de componentes de interfaces de
usuario y que pretenden funcionar en el mayor numero posible de plataformas. Ca
a uno de los componentes de este paquete puede presentar diversos aspectos y
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
comportamientos en función de una biblioteca de clases.
Awt
componentes pesados (dependen del sistema de ventanas de la plataforma local
para determinar su funcionalidad y su apariencia visual). Cada componente pesado
tiene un componente asociado (del paquete java.awt.peer), el cual es responsable
de las interacciones entre el componente pesado y la plataforma local para
mostrarlo y manipularlo.
Componentes de Swing
JFrame: Representa una ventana básica, capaz de contener otros componentes.
Casi todas las aplicaciones construyen al menos un Jframe.
JDialog, JOptionPane, etc: Los cuadros de diálogo son JFrame restringidos,
dependientes de un JFrame principal. Los JOptionPane son cuadros de diálogo
sencillos predefinidos para pedir confirmación, realizar advertencias o notificar
errores. Los Jdialog son cuadros de diálogo generales, normalmente utilizados para
peticiones de datos.
JButton: Distintos tipos de botones. Un check box sirve para marcar una opción. Un
radio button permite seleccionar una opción entre varias disponibles.
JtextField: Permite indicar el conjunto de caracteres legales que pueden
introducirse.
JLabel: Permite situar un texto, un texto con una imagen o una imagen únicamente
en la ventana. No son interactivos y puede utilizarse código HTML para escribir
texto en varias líneas y con varios atributos.
Eventos
Las GUI`s están controladas por eventos (generan eventos cuando el usuario
interactúa con la GUI). Siempre que ocurre una interacción con el usuario se envía
un evento al programa. La información de los eventos de la GUI se almacena en un
objeto de una clase que extiende a AWTEvent.
Los eventos que vamos a gestionar en los ejemplos correspondientes a nuestros
componentes pertenecen al paquete java.awt.event. También se han agregado
tipos de eventos adicionales, específicos para varios tipos de componentes Swing.
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
Estos eventos se definen en el paquete javax.swing.event.
Para procesar un evento de interfaz gráfica de usuario, el programador debe
realizar dos tareas clave:
-Registrar un componente que escuche eventos (es un objeto de una clase que
implementa una o más de las interfaces que escuchan eventos correspondientes a
los paquetes java.awt.event y javax.swing.event).
-Implementar un manejado de eventos (método que se invoca automáticamente en
respuesta a un tipo específico de evento).
ActionListener: captura cierto tipo de acción realizada sobre ciertos componentes.
Por ejemplo, pulsar un botón, seleccionar un elemento en una lista desplegable o
una opción en un menú.
String getText(): Selecciona u obtiene el texto mostrado en el botón.
void setIcon(Icon):Selecciona u obtiene la imagen mostrada por el botón cuando no
está seleccionado o pulsado. “[Javier Ovejero Sánchez]
Final :es un atributo que le pones ya sea a una variable o a un método, para
indicar que ya no puede ser cambiado una vez declarado.
Su valor ya no puede ser cambiado una vez inicializado por lo que es útil para
ciertos casos en los que deseas que una variable contenga un valor en el que
quieras estar seguro que su valor es constante. Debido a esto, debes inicializarla al
momento de declararla, o en el caso de las versiones mas recientes del JDK,
dentro del constructor de la clase (por si quisieras que tuviera un valor constante al
momento de crear el objeto.) Esto es para evitar que el método sea sobrescrito
('overriden') por una subclase de la clase que contenga dicho método con el fin de
preservar el comportamiento original deseado en la clase base.
static:los atributos miembros de una clase pueden ser atributos de clase o
atributos de instancia; se dice que son atributos de clase si se usa la palabra clave
static: en ese caso la variable es única para todas las instancias (objetos) de la
clase (ocupa un único lugar en memoria). A veces a las variables de clase se les
llama variables estáticas. Si no se usa static, el sistema crea un lugar nuevo para
esa variable con cada instancia (la variable es diferente para cada objeto). En el
caso de una constante no tiene sentido crear un nuevo lugar de memoria por cada
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
objeto de una clase que se cree. Por ello es adecuado el uso de la palabra clave
static. Cuando usamos “static final” se dice que creamos una constante de clase,
un atributo común a todos los objetos de esa clase. [Alex Rodríguez]
5 MARCO METODOLÓGICO
Análisis de resultados
Ventana Inicio
1. Inicio
2. Mostrar “ Ingrese su nombre”
3. Leer --> Nombredeljugador
4. Mostrar “ Ingrese su edad”
5. Leer --> edades
6. Clic botón btnMenuJuego
7. Si nombredeljugador <0 && edades <0 entonces
8. Si edad<=2 entonces
9. Si edades ==0 || edades <9 entonces
10. Mostrar "Ingresa una edad valida entre 9 Y 15"
11. Caso contrario
12. Si edades>8 && edades<13
13. Mostrar "EL EXITO ES JUGAR Y APRENDER CUANDO ERES NIÑO,
DISFRUTA EL JUEGO"
14. Visualiza VentanaMenu
15. Oculta VentanaInicio
16. Caso contrario
17. Si edades<16
18. Mostrar "JOVEN ERES EL FUTURO DE LA PATRIA, DISFRUTA EL
JUEGO"
19. Visualiza VentanaMenu
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
20. Oculta VentanaInicio
21. Caso contrario
22. Mostrar "INGRESA UNA EDAD VALIDA ENTRE 9 Y 15"
23. Caso contrario
24. Mostrar “INGRESA UNA EDAD DE DOS DIGITOS COMO MAXIMO"
25. Caso contrario
26. Mostrar "LLENA TODOS LOS CAMPOS"
27. Fin_Si
28. Fin_Si
29. Fin_Si
30. Fin_Si
31. Fin_Si
32. Fin_Si
33. Fin_No
34. Fin_No
35. Fin_No
36. Fin_No
37. Fin_No
38. Fin
VENTANA MENU
1. Botón visualizar las tablas
2. Inicio
3. Crear Objeto Botón
4. Objeto Botón == btnAprendeLasTablas
5. Asignar Evento Clic al botón
6. Si Clic en btnAprendeLasTablas
7. Visualizo ventanaTablas
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
8. Ocultar ventanaMenu
9. Fin_Si
10. Fin
Botón Concepto
1. Inicio
2. Crear Objeto Botón
3. Objeto Botón == btnConceptos
4. Asignar Evento Clic al botón
5. Si Clic en btnConceptos
6. Visualizo ventanaConceptos
7. Ocultar ventanaMenu
8. Fin_Si
9. Fin
Botón Nivel Fácil
1. Inicio
2. Crear Objeto Botón
3. Objeto Botón == btnNivelFacil
4. Asignar Evento Clic al botón
5. Si Clic en btnNivelFacil
6. Visualizo ventanaJuegaRazona
7. Ocultar ventanaMenu
8. Fin_Si
9. Fin
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
Botón Nivel Avanzado
1. Inicio
2. Crear Objeto Botón
3. Objeto Botón == btnNivelAvanzado
4. Asignar Evento Clic al botón
5. Si Clic en btnNivelAvanzado
6. Visualizo ventanaInicio
7. Ocultar ventanaMenu
8. Fin_Si
9. Fin
Botón Salir
1. Inicio
2. Crear Objeto Botón
3. Objeto Botón == btnSalir
4. Asignar Evento Clic al botón
5. Si Click en btnSAlir
6. Fin_Si
7. Fin
Botón Instrucciones
1. Inicio
2. Crear Objeto Botón
3. Objeto Botón == btnInstrucciones
4. Asignar Evento Clic al botón
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
5. Si Clic en btnInstrucciones
6. Visualizo ventanaInicio
7. Ocultar ventanaMenu
8. Fin_Si
9. Fin
Botón Instrucciones
1. Inicio
2. Crear Objeto Botón
3. Objeto Botón == btnNuevoNombre
4. Asignar Evento Clic al botón
5. Si Click en btnNuevoNombre
6. Visualizo ventanaInicio
7. Ocultar ventanaMenu
8. Fin_Si
9. Fin
Solución
Complementar los conocimientos básicos relacionados con la
multiplicación.
En esta pantalla el usuario ingresa su nombre y su edad, da clic en el
botón inicio e ingresa al menú
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
En esta pantalla en usuario elige una opción, encontramos:
• Instrucciones
• Conceptos
• Tablas de multiplicar
• Nuevo nombre
• Juega y razona – Nivel Fácil
• Nivel Avanzado
• Salir
Torres, Tapia
Ilustración 1: Ingreso de nombre y edad del usuario
Proyecto Final de Programación I Y UTILITARIOS i
En esta pantalla muestra información acerca de las tablas de multiplicar
Aquí Visualiza Las Tablas para que así pueda repasar y aprenderlas y poder
jugar.
Torres, Tapia
Ilustración 2: Elegir una opción
Ilustración 3: Concepto de la multiplicación
Ilustración 4: Aprende las tablas de multiplicar
Proyecto Final de Programación I Y UTILITARIOS i
Nivel avanzado, este nivel nos vota tablas de multiplicar de mas de 2
cifras
Nivel fácil, este nivel nos da multiplicaciones de solo 1 dígito.
Torres, Tapia
Ilustración 5: Nivel avanzado
Ilustración 6: Juega y Razona- Nivel facil
Proyecto Final de Programación I Y UTILITARIOS i
6 CONCLUSIONES
• El proyecto realizado permite aplicar nuestros conocimientos tratados en el
transcurso del semestre.
• Para la utilización de la interfaz gráfica se requiera la importación de
paquetes.
• Todo código bien estructurado se le permite aplicar un mantenimiento
colectivo rápido.
7 RECOMENDACIONES
• En presencia de errores de compilación o en tiempo de ejecución realice una
revisión secuencial, inspeccionando el código de arriba hacia abajo
• Implementar el uso convencional de documentación de todo proceso de la
aplicación.
• Utilizar la información respectiva necesaria que contiene el API de JAVA,
sobre todo si se emplea excepciones.
• Escribir código antes que copiar y pegar, pues permite ir asegurándose de
que se esta utilizando de manera correcta la sintaxis en el lenguaje de
programación.
• Implementar una interfaz amigable y así permitir hacer que la aplicación y
sus procesos sean mas intuitivos.
• Almacenar y visualizar la información del usuario de la aplicación,
permitiendo observar avances que se consigue con la practica, estimulando
de esta forma la superación y competitividad; Ademas de respaldo de
información ingresada en la aplicación.
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
8 REFERENCIAS BIBLIOGRÁFICAS
[Javier Ovejero Sánchez]
[Alex Rodríguez]
9 ANEXOS.
Código fuente del programa
Ventana Inicial
final JTextField nombre = new JTextField();
final JTextField edad = new JTextField();
ventanaInicio.setSize(800, 359);
ventanaInicio.setVisible(true);
ventanaInicio.setResizable(false);
ventanaInicio.setLayout(null);
ventanaInicio.setLocationRelativeTo(null);
ventanaInicio.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.cla
ss.getResource("/imagenes/icono.jpg")));
ventanaInicio.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton btnMenuJuego = new JButton("Menu de Juego");
btnMenuJuego.setForeground(Color.WHITE);
btnMenuJuego.setFont(new Font("Broadway", Font.PLAIN, 20));
btnMenuJuego.setBackground(new Color(30, 144, 255));
btnMenuJuego.setBounds(300, 270, 200, 50);
btnMenuJuego.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if(edad.getText().length()>0 && nombre.getText().length()>0){
if(edad.getText().length()<=2){
int edades = Integer.parseInt(edad.getText());
if (edades ==0 || edades <9) {
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio,"INGRESA UN EDAD
VALIDA ENTRE 9 Y 15", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE);
} else {
if(edades>8 && edades<13){
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "EL EXITO ES
JUGAR Y APRENDER CUANDO ERES NIÑO, DISFRUTA EL JUEGO", "CRISVAN MENSAJE",
JOptionPane.INFORMATION_MESSAGE);
ventanaMenu.setVisible(true);
ventanaInicio.setVisible(false);
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
nombreJuegador = nombre.getText();
}
else{
if (edades<16) {
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "JOVEN ERES EL
FUTURO DE LA PATRIA, DISFRUTA EL JUEGO", "CRISVAN MENSAJE",
JOptionPane.INFORMATION_MESSAGE);
ventanaMenu.setVisible(true);
ventanaInicio.setVisible(false);
nombreJuegador = nombre.getText();
}
else{
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "INGRESA UNA
EDAD VALIDA ENTRE 9 Y 15", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE);
}
}
}
}
else{
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "INGRESA UNA
EDAD DE DOS DIGITOS COMO MAXIMO", "ADVERTENCIA...!", JOptionPane.WARNING_MESSAGE);
}
}
else{
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "LLENA TODOS LOS
CAMPOS", "ADVERTENCIA...!", JOptionPane.WARNING_MESSAGE);
}
}
});
ventanaInicio.add(btnMenuJuego);
nombre.setBounds(90, 100, 300, 30);
nombre.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent e) {
char c = e.getKeyChar();
if((c<'A' || c>'Z') && (c<'a' || c>'z')
&& (c!=(char)KeyEvent.VK_SPACE))
{
e.consume();
}
}
});
ventanaInicio.add(nombre);
edad.setBounds(90, 200, 300, 30);
edad.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent e) {
char caracter = e.getKeyChar();
if(((caracter < '0') ||
(caracter > '9')) &&
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
(caracter != KeyEvent.VK_BACK_SPACE))
{
e.consume();
}
}
});
ventanaInicio.add(edad);
JLabel lblTextoEdad = new JLabel("Ingresa tu edad");
lblTextoEdad.setForeground(Color.WHITE);
lblTextoEdad.setFont(new Font("Broadway", Font.PLAIN, 20));
lblTextoEdad.setBounds(90, 150, 300, 45);
ventanaInicio.add(lblTextoEdad);
JLabel lblTextoNombre = new JLabel("Ingresa tu nombre");
lblTextoNombre.setForeground(Color.WHITE);
lblTextoNombre.setFont(new Font("Broadway", Font.PLAIN, 20));
lblTextoNombre.setBounds(90, 45, 300, 45);
ventanaInicio.add(lblTextoNombre);
JLabel lblTextoBienvenido = new JLabel("BIENVENIDO");
lblTextoBienvenido.setForeground(Color.WHITE);
lblTextoBienvenido.setFont(new Font("Broadway", Font.PLAIN, 25));
lblTextoBienvenido.setBounds(325, 0, 300, 50);
ventanaInicio.add(lblTextoBienvenido);
JLabel lblFondoVentaniaInicio = new JLabel();
lblFondoVentaniaInicio.setBounds(0,0,800, 359);
lblFondoVentaniaInicio.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/inicio.jpg")));
ventanaInicio.add(lblFondoVentaniaInicio);
Ventana Menu
ventanaMenu.setSize(898, 562);
ventanaMenu.setVisible(false);
ventanaMenu.setResizable(false);
ventanaMenu.setLayout(null);
ventanaMenu.setLocationRelativeTo(null);
ventanaMenu.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.class
.getResource("/imagenes/icono.jpg")));
ventanaMenu.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
JButton btnAprendeLasTablas = new JButton("Tablas de Multiplicar");
btnAprendeLasTablas.setForeground(Color.WHITE);
btnAprendeLasTablas.setFont(new Font("Broadway", Font.PLAIN, 12));
btnAprendeLasTablas.setBounds(30, 350, 200, 50);
btnAprendeLasTablas.setBackground(new Color(30, 144, 255));
btnAprendeLasTablas.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaTablas.setVisible(true);
ventanaMenu.setVisible(false);
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
}
});
ventanaMenu.add(btnAprendeLasTablas);
JButton btnConceptos = new JButton("Conceptos");
btnConceptos.setForeground(Color.WHITE);
btnConceptos.setFont(new Font("Broadway", Font.PLAIN, 12));
btnConceptos.setBounds(30, 250, 200, 50);
btnConceptos.setBackground(new Color(30, 144, 255));
btnConceptos.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaConceptos.setVisible(true);
ventanaMenu.setVisible(false);
}
});
ventanaMenu.add(btnConceptos);
JButton btnNivelFacil = new JButton("Nivel fácil ");
btnNivelFacil.setForeground(Color.WHITE);
btnNivelFacil.setFont(new Font("Broadway", Font.PLAIN, 12));
btnNivelFacil.setBounds(670, 250, 200, 50);
btnNivelFacil.setBackground(new Color(30, 144, 255));
btnNivelFacil.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaJuegaRazona.setVisible(true);
ventanaMenu.setVisible(false);
}
});
ventanaMenu.add(btnNivelFacil);
JButton btnSalir = new JButton("Salir");
btnSalir.setForeground(Color.WHITE);
btnSalir.setFont(new Font("Broadway", Font.PLAIN, 12));
btnSalir.setBounds(350, 475, 200, 50);
btnSalir.setBackground(new Color(30, 144, 255));
btnSalir.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
ventanaMenu.add(btnSalir);
JButton btnNuevoNombre = new JButton("Nuevo Nombre");
btnNuevoNombre.setForeground(Color.WHITE);
btnNuevoNombre.setFont(new Font("Broadway", Font.PLAIN, 12));
btnNuevoNombre.setBounds(670, 150, 200, 50);
btnNuevoNombre.setBackground(new Color(30, 144, 255));
btnNuevoNombre.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaInicio.setVisible(true);
ventanaMenu.setVisible(false);
}
});
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
ventanaMenu.add(btnNuevoNombre);
JButton btnInstruccion = new JButton("Instrucciones");
btnInstruccion.setForeground(Color.WHITE);
btnInstruccion.setFont(new Font("Broadway", Font.PLAIN, 12));
btnInstruccion.setBounds(30, 150, 200, 50);
btnInstruccion.setBackground(new Color(30, 144, 255));
btnInstruccion.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaInstrucciones.setVisible(true);
ventanaMenu.setVisible(false);
}
});
ventanaMenu.add(btnInstruccion);
JButton btnNivelAvanzado = new JButton("Nivel avanzado");
btnNivelAvanzado.setForeground(Color.WHITE);
btnNivelAvanzado.setFont(new Font("Broadway", Font.PLAIN, 12));
btnNivelAvanzado.setBounds(670, 350, 200, 50);
btnNivelAvanzado.setBackground(new Color(30, 144, 255));
btnNivelAvanzado.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
AhorcadoInicio.setVisible(true);
ventanaMenu.setVisible(false);
}
});
ventanaMenu.add(btnNivelAvanzado);
JLabel lblTextoOpcion = new JLabel("ElIGE UNA OPCION");
lblTextoOpcion.setForeground(Color.ORANGE);
lblTextoOpcion.setFont(new Font("Broadway", Font.PLAIN, 50));
lblTextoOpcion.setBounds(206, 10, 500, 50);
ventanaMenu.add(lblTextoOpcion);
JLabel lblFondoVentanaMenu = new JLabel();
lblFondoVentanaMenu.setSize(898,562);
lblFondoVentanaMenu.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/fondo_inicio.jpg")));
ventanaMenu.add(lblFondoVentanaMenu);
Ventana Tablas
ventanaTablas.setSize(900, 680);
ventanaTablas.setVisible(false);
ventanaTablas.setResizable(false);
ventanaTablas.setLayout(null);
ventanaTablas.setLocationRelativeTo(null);
ventanaTablas.setBackground(new Color(135, 206, 235));
ventanaTablas.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.cla
ss.getResource("/imagenes/icono.jpg")));
ventanaTablas.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
JButton btnInicioUno = new JButton("Inicio");
btnInicioUno.setForeground(Color.WHITE);
btnInicioUno.setFont(new Font("Broadway", Font.PLAIN, 20));
btnInicioUno.setBounds(350, 600, 200, 50);
btnInicioUno.setBackground(new Color(30, 144, 255));
btnInicioUno.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaMenu.setVisible(true);
ventanaTablas.setVisible(false);
}
});
ventanaTablas.add(btnInicioUno);
JLabel lblFondoTablasMultiplicar = new JLabel("");
lblFondoTablasMultiplicar.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/todaslastablas.jpg")));
lblFondoTablasMultiplicar.setBounds(0, 0, 900, 601);
ventanaTablas.add(lblFondoTablasMultiplicar);
Ventana Conceptos
ventanaConceptos.setSize(526, 700);
ventanaConceptos.setVisible(false);
ventanaConceptos.setResizable(false);
ventanaConceptos.setLayout(null);
ventanaConceptos.setLocationRelativeTo(null);
ventanaConceptos.setBackground(new Color(135, 206, 235));
ventanaConceptos.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.
class.getResource("/imagenes/icono.jpg")));
ventanaConceptos.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
JButton btnInicioDos = new JButton("Inicio");
btnInicioDos.setForeground(Color.WHITE);
btnInicioDos.setFont(new Font("Broadway", Font.PLAIN, 20));
btnInicioDos.setBounds(150, 620, 200, 50);
btnInicioDos.setBackground(new Color(30, 144, 255));
btnInicioDos.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaMenu.setVisible(true);
ventanaConceptos.setVisible(false);
}
});
ventanaConceptos.add(btnInicioDos);
JLabel lblfondo = new JLabel();
lblfondo.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/descripcion .jpg")));
lblfondo.setBounds(0, 0, 520, 622);
ventanaConceptos.add(lblfondo);
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
Ventana Juega Razona
final JLabel lblNumero1 = new JLabel();
final JLabel lblNumero2 = new JLabel();
final JLabel lblError = new JLabel();
final JLabel lblAcierto = new JLabel();
final JLabel lblPuntaje1 = new JLabel();
final JLabel lblPuntaje2 = new JLabel();
final JTextField respuesta = new JTextField();
final JButton btnInicioTres = new JButton("Inicio");
final JButton btnGenerarNumeros = new JButton("Números");
final JButton btnComprobar = new JButton("Comprobar");
ventanaJuegaRazona.setSize(898, 580);
ventanaJuegaRazona.setVisible(false);
ventanaJuegaRazona.setResizable(false);
ventanaJuegaRazona.setLayout(null);
ventanaJuegaRazona.setLocationRelativeTo(null);
ventanaJuegaRazona.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplica
r.class.getResource("/imagenes/icono.jpg")));
ventanaJuegaRazona.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
respuesta.setBounds(470, 30, 175, 177);
respuesta.setVisible(true);
respuesta.setFont(new Font("Arial", Font.PLAIN, 150));
respuesta.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent e) {
char caracter = e.getKeyChar();
if(((caracter < '0') ||
(caracter > '9')) &&
(caracter != KeyEvent.VK_BACK_SPACE))
{
e.consume();
}
}
});
ventanaJuegaRazona.add(respuesta);
btnInicioTres.setForeground(Color.WHITE);
btnInicioTres.setFont(new Font("Broadway", Font.PLAIN, 20));
btnInicioTres.setVisible(false);
btnInicioTres.setBounds(350, 500, 200, 50);
btnInicioTres.setBackground(new Color(30, 144, 255));
btnInicioTres.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaMenu.setVisible(true);
ventanaJuegaRazona.setVisible(false);
}
});
ventanaJuegaRazona.add(btnInicioTres);
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
btnGenerarNumeros.setForeground(Color.WHITE);
btnGenerarNumeros.setFont(new Font("Broadway", Font.PLAIN, 20));
btnGenerarNumeros.setBounds(50, 230, 200, 50);
btnGenerarNumeros.setBackground(new Color(30, 144, 255));
btnGenerarNumeros.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0){
final int aleatorio1 = (int)
(Math.floor(Math.random()*(9 - 1 +1))+1);
final int aleatorio2 = (int)
(Math.floor(Math.random()*(9 - 1 +1))+1);
lblNumero1.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/"+aleatorio1+".jpg")));
lblNumero2.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/"+aleatorio2+".jpg")));
resultadoMultiplicacion = aleatorio1 * aleatorio2;
btnGenerarNumeros.setVisible(false);
btnComprobar.setVisible(true);
respuesta.setText(null);
btnInicioTres.setVisible(false);
}
});
ventanaJuegaRazona.add(btnGenerarNumeros);
btnComprobar.setVisible(false);
btnComprobar.setForeground(Color.WHITE);
btnComprobar.setFont(new Font("Broadway", Font.PLAIN, 20));
btnComprobar.setBounds(300, 230, 200, 50);
btnComprobar.setBackground(new Color(30, 144, 255));
btnComprobar.addActionListener(new ActionListener() {
int intento = 1;
@Override
public void actionPerformed(ActionEvent arg0) {
if (respuesta.getText().length() == 0) {
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"INGRESA UNA
RESPUESTA VALIDA", "CRISVAN MENSAJE", JOptionPane.ERROR_MESSAGE);
} else {
if (respuesta.getText().length()<3) {
int txtrespuesta =
Integer.parseInt(respuesta.getText());
if (txtrespuesta !=0) {
if (resultadoMultiplicacion ==
txtrespuesta) {
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"FELICITACIONES,
ACERTASTE", "CRISVAN MENSAJE", JOptionPane.INFORMATION_MESSAGE);
acierto++;
lblError.setVisible(false);
lblAcierto.setVisible(true);
btnComprobar.setVisible(false);
btnGenerarNumeros.setVisible(true);
respuesta.setText(null);
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
lblPuntaje1.setVisible(true);
lblPuntaje1.setText("ACIERTOS: "+acierto);
}else {
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"FALLASTE,
SIGUE INTENTANDO", "CRISVAN MENSAJE", JOptionPane.ERROR_MESSAGE);
error++;
lblError.setVisible(true);
lblAcierto.setVisible(false);
btnComprobar.setVisible(false);
btnGenerarNumeros.setVisible(true);
respuesta.setText(null);
lblPuntaje2.setVisible(true);
lblPuntaje2.setText("ERRORES:
"+error);
}
if(intento++ ==10){
if (acierto > error) {
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"FELICIDADES
"+nombreJuegador+"n GANASTES CON "+acierto+" ACIERTOS", "CRISVAN MENSAJE",
JOptionPane.INFORMATION_MESSAGE);
} else {
if(acierto == error){
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"EMPATAS NI
GANAS NI PIERDES"+nombreJuegador+"n ERRORES: "+error+"n ACIERTOS: "+acierto, "CRISVAN
MENSAJE", JOptionPane.INFORMATION_MESSAGE);
}else{
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"LASTIMA
"+nombreJuegador+"n PERDISTE CON "+error+" ERRORES", "CRISVAN MENSAJE",
JOptionPane.INFORMATION_MESSAGE);
}
}
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"JUEGO
TERMINADO", "CRISVAN MENSAJE", JOptionPane.OK_OPTION);
intento = 1;
lblError.setVisible(false);
lblAcierto.setVisible(false);
lblNumero1.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/vacio1.jpg")));
lblNumero2.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/vacio1.jpg")));
lblPuntaje1.setVisible(false);
lblPuntaje2.setVisible(false);
acierto = 0;
error = 0;
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
btnInicioTres.setVisible(true);
btnComprobar.setVisible(false);
btnGenerarNumeros.setVisible(true);
respuesta.setText(null);
}
} else {
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"INGRESA UNA
RESPUESTA VALIDA", "CRISVAN MENSAJE", JOptionPane.ERROR_MESSAGE);
}
}
else{
JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"INGRESA UNA
RESPUESTA VALIDA", "CRISVAN MENSAJE", JOptionPane.ERROR_MESSAGE);
}
}
}
});
ventanaJuegaRazona.add(btnComprobar);
lblNumero1.setBounds(50, 30, 125, 177);
lblNumero1.setVisible(true);
lblNumero1.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/vacio1.jpg")));
ventanaJuegaRazona.add(lblNumero1);
JLabel lblSignoMultiplicacion = new JLabel("x");
lblSignoMultiplicacion.setForeground(Color.WHITE);
lblSignoMultiplicacion.setFont(new Font("Broadway", Font.PLAIN, 100));
lblSignoMultiplicacion.setBounds(185, 70, 90, 90);
lblSignoMultiplicacion.setVisible(true);
ventanaJuegaRazona.add(lblSignoMultiplicacion);
lblNumero2.setBounds(270, 30, 125, 177);
lblNumero2.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/vacio1.jpg")));
lblNumero2.setVisible(true);
ventanaJuegaRazona.add(lblNumero2);
JLabel lblSignoIgual = new JLabel("=");
lblSignoIgual.setForeground(Color.WHITE);
lblSignoIgual.setFont(new Font("Broadway", Font.PLAIN, 100));
lblSignoIgual.setBounds(400, 70, 90, 90);
lblSignoIgual.setVisible(true);
ventanaJuegaRazona.add(lblSignoIgual);
lblPuntaje1.setBounds(50, 300, 200, 50);
lblPuntaje1.setForeground(Color.WHITE);
lblPuntaje1.setFont(new Font("Broadway", Font.PLAIN, 20));
lblPuntaje1.setVisible(false);
ventanaJuegaRazona.add(lblPuntaje1);
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
lblPuntaje2.setBounds(50, 400, 200, 50);
lblPuntaje2.setForeground(Color.WHITE);
lblPuntaje2.setFont(new Font("Broadway", Font.PLAIN, 20));
lblPuntaje2.setVisible(false);
ventanaJuegaRazona.add(lblPuntaje2);
lblAcierto.setBounds(308, 290, 259, 201);
lblAcierto.setVisible(false);
lblAcierto.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/acierto.jpg")));
ventanaJuegaRazona.add(lblAcierto);
lblError.setBounds(308, 290, 259, 201);
lblError.setVisible(false);
lblError.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/error.jpg")));
ventanaJuegaRazona.add(lblError);
JLabel lblFondoVentanaJuegaRazona = new JLabel();
lblFondoVentanaJuegaRazona.setBounds(0, 0, 898, 562);
lblFondoVentanaJuegaRazona.setVisible(true);
lblFondoVentanaJuegaRazona.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/jugar.jpg")));
ventanaJuegaRazona.add(lblFondoVentanaJuegaRazona);
Ventana Instrucciones
ventanaInstrucciones.setSize(520, 705);
ventanaInstrucciones.setVisible(false);
ventanaInstrucciones.setResizable(false);
ventanaInstrucciones.setLayout(null);
ventanaInstrucciones.setLocationRelativeTo(null);
ventanaInstrucciones.setBackground(new Color(135, 206, 235));
ventanaInstrucciones.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultipli
car.class.getResource("/imagenes/icono.jpg")));
ventanaInstrucciones.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
JButton btnInicioCinco = new JButton("Inicio");
btnInicioCinco.setForeground(Color.WHITE);
btnInicioCinco.setFont(new Font("Broadway", Font.PLAIN, 20));
btnInicioCinco.setBounds(150, 395, 200, 50);
btnInicioCinco.setBackground(new Color(30, 144, 255));
btnInicioCinco.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaMenu.setVisible(true);
ventanaInstrucciones.setVisible(false);
}
});
ventanaInstrucciones.add(btnInicioCinco);
JLabel lblFondoVentanaInstrucciones = new JLabel();
lblFondoVentanaInstrucciones.setBounds(0, 0, 520, 705);
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
lblFondoVentanaInstrucciones.setVisible(true);
lblFondoVentanaInstrucciones.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/instrucciones.jpg")));
ventanaInstrucciones.add(lblFondoVentanaInstrucciones);
Ventana Ahorcado
final JTextField numerosIngresados = new JTextField();
final JLabel expresionMultiplicacion = new JLabel();
final JLabel lblverdugo = new JLabel();
final JButton generarNumeros = new JButton("Números");
final JButton Comprobar = new JButton("Comprobar");
final JButton inicioAhorcado = new JButton("Inicio");
AhorcadoInicio.setLayout(null);
AhorcadoInicio.setVisible(false);
AhorcadoInicio.setResizable(false);
AhorcadoInicio.setSize(500,475);
AhorcadoInicio.setBackground(Color.WHITE);
AhorcadoInicio.setLocationRelativeTo(null);
AhorcadoInicio.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.cl
ass.getResource("/imagenes/icono.jpg")));
AhorcadoInicio.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
numerosIngresados.setBounds(25, 120, 210, 50);
numerosIngresados.setForeground(new Color(30, 144, 255));
numerosIngresados.setFont(new Font("Broadway", Font.PLAIN, 50));
numerosIngresados.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyTyped(java.awt.event.KeyEvent e) {
char caracter = e.getKeyChar();
if(((caracter < '0') ||
(caracter > '9')) &&
(caracter != KeyEvent.VK_BACK_SPACE))
{
e.consume();
}
}
});
AhorcadoInicio.add(numerosIngresados);
generarNumeros.setForeground(Color.WHITE);
generarNumeros.setFont(new Font("Broadway", Font.PLAIN, 20));
generarNumeros.setBounds(25,330,200,50);
generarNumeros.setBackground(new Color(30, 144, 255));
generarNumeros.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int aleatorio1 = (int)(Math.floor(Math.random()*(999 -
1 +1))+1);
int aleatorio2 = (int)(Math.floor(Math.random()*(999 -
1 +1))+1);
expresionMultiplicacion.setText(aleatorio1+" x
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
"+aleatorio2+" = ?");
resultado = aleatorio1*aleatorio2;
numerosIngresados.setText(null);
generarNumeros.setVisible(false);
Comprobar.setVisible(true);
}
});
AhorcadoInicio.add(generarNumeros);
Comprobar.setForeground(Color.WHITE);
Comprobar.setFont(new Font("Broadway", Font.PLAIN, 20));
Comprobar.setBounds(25,330,200,50);
Comprobar.setBackground(new Color(30, 144, 255));
Comprobar.setVisible(false);
Comprobar.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
if (numerosIngresados.getText().length() == 0) {
JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"LLENA EL CAMPO
DE TEXTO", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE);
}else{
if (numerosIngresados.getText().length() < 7) {
int contenidoEdad =
Integer.parseInt(numerosIngresados.getText());
if (contenidoEdad == 0) {
JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"INGRESA UNA
RESPUESTA VALIDA", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE);
} else {
if (contenidoEdad == resultado) {
JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"ADIVINAZTE",
"CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE);
numerosIngresados.setText(null);
Comprobar.setVisible(false);
generarNumeros.setVisible(true);
inicioAhorcado.setVisible(true);
} else {
JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"FALLASTE",
"CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE);
numerosIngresados.setText(null);
Comprobar.setVisible(true);
lblverdugo.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imageneAhorcado/"+(++errorAhorcado)
+".jpg")));
if (errorAhorcado == 5 ) {
Comprobar.setVisible(false);
generarNumeros.setVisible(true);
errorAhorcado = 1;
JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"PERDISTE n LA
RESPUESTA CORRECTA ERA "+resultado, "CRISVAN MENSAJE",
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
JOptionPane.INFORMATION_MESSAGE);
lblverdugo.setVisible(false);
inicioAhorcado.setVisible(true);
}
}
}
} else {
JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"INGRESA COMO
MAXIMO 6 DIGITOS", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE);
}
}
}
});
AhorcadoInicio.add(Comprobar);
inicioAhorcado.setForeground(Color.WHITE);
inicioAhorcado.setFont(new Font("Broadway", Font.PLAIN, 20));
inicioAhorcado.setBounds(25,390,200,50);
inicioAhorcado.setBackground(new Color(30, 144, 255));
inicioAhorcado.setVisible(false);
inicioAhorcado.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
ventanaMenu.setVisible(true);
AhorcadoInicio.setVisible(false);
}
});
AhorcadoInicio.add(inicioAhorcado);
JButton btnCero = new JButton("0");
btnCero.setBounds(25, 200, 41, 41);
btnCero.setBackground(new Color(30, 144, 255));
btnCero.setForeground(Color.WHITE);
btnCero.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"0");
}
});
AhorcadoInicio.add(btnCero);
JButton btnUno = new JButton("1");
btnUno.setForeground(Color.WHITE);
btnUno.setBounds(67, 200, 41, 41);
btnUno.setBackground(new Color(30, 144, 255));
btnUno.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"1");
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
}
});
AhorcadoInicio.add(btnUno);
JButton btnDos = new JButton("2");
btnDos.setForeground(Color.WHITE);
btnDos.setBounds(109, 200, 41, 41);
btnDos.setBackground(new Color(30, 144, 255));
btnDos.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"2");
}
});
AhorcadoInicio.add(btnDos);
JButton btnTres = new JButton("3");
btnTres.setForeground(Color.WHITE);
btnTres.setBackground(new Color(30, 144, 255));
btnTres.setBounds(151, 200, 41, 41);
btnTres.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"3");
}
});
AhorcadoInicio.add(btnTres);
JButton btnCuatro = new JButton("4");
btnCuatro.setForeground(Color.WHITE);
btnCuatro.setBackground(new Color(30, 144, 255));
btnCuatro.setBounds(193, 200, 41, 41);
btnCuatro.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"4");
}
});
AhorcadoInicio.add(btnCuatro);
JButton btnCinco = new JButton("5");
btnCinco.setForeground(Color.WHITE);
btnCinco.setBackground(new Color(30, 144, 255));
btnCinco.setBounds(25, 242, 41, 41);
btnCinco.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"5");
}
});
AhorcadoInicio.add(btnCinco);
JButton btnSeis = new JButton("6");
btnSeis.setForeground(Color.WHITE);
btnSeis.setBackground(new Color(30, 144, 255));
btnSeis.setBounds(67, 242, 41, 41);
btnSeis.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"6");
}
});
AhorcadoInicio.add(btnSeis);
JButton btnSiete = new JButton("7");
btnSiete.setForeground(Color.WHITE);
btnSiete.setBackground(new Color(30, 144, 255));
btnSiete.setBounds(109, 242, 41, 41);
btnSiete.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"7");
}
});
AhorcadoInicio.add(btnSiete);
JButton btnOcho = new JButton("8");
btnOcho.setForeground(Color.WHITE);
btnOcho.setBackground(new Color(30, 144, 255));
btnOcho.setBounds(151, 242, 41, 41);
btnOcho.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
numerosIngresados.setText(numerosIngresados.getText()+"8");
numerosIngresados.requestFocus();
}
});
AhorcadoInicio.add(btnOcho);
JButton btnNueve = new JButton("9");
btnNueve.setForeground(Color.WHITE);
btnNueve.setBackground(new Color(30, 144, 255));
btnNueve.setBounds(193, 242, 41, 41);
btnNueve.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
Torres, Tapia
Proyecto Final de Programación I Y UTILITARIOS i
// TODO Auto-generated method stub
numerosIngresados.requestFocus();
numerosIngresados.setText(numerosIngresados.getText()+"9");
}
});
AhorcadoInicio.add(btnNueve);
expresionMultiplicacion.setBounds(25,1,500,100);
expresionMultiplicacion.setForeground(new Color(30, 144, 255));
expresionMultiplicacion.setFont(new Font("Broadway", Font.PLAIN, 50));
AhorcadoInicio.add(expresionMultiplicacion);
lblverdugo.setBounds(250,200,250,227);
AhorcadoInicio.add(lblverdugo);
JLabel fondoAhorcadoInicio = new JLabel();
fondoAhorcadoInicio.setBounds(0, 0, 515,475);
fondoAhorcadoInicio.setIcon(new
ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/ahorcadoFondo.jpg")));
AhorcadoInicio.add(fondoAhorcadoInicio);
Persistencia
File nombreFile;
nombreFile = new File("informacionJugador.txt");
try{
FileWriter w = new FileWriter(nombreFile);
BufferedWriter bw = new BufferedWriter(w);
PrintWriter wr = new PrintWriter(bw);
wr.write(nombreJuegador + "ACIERTOS:" +acierto+" ERRORES:"+error);
wr.close();
}catch(IOException e){};
Documentación fotográfica
Torres, Tapia

Más contenido relacionado

La actualidad más candente

Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeIntJerry
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
Arreglos vectores pseint
Arreglos vectores pseintArreglos vectores pseint
Arreglos vectores pseintHEIVER CUESTA
 
Comandos de raptor
Comandos de raptorComandos de raptor
Comandos de raptor0cero
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Algoritmos Tiposde datos
Algoritmos Tiposde datos Algoritmos Tiposde datos
Algoritmos Tiposde datos bakura4
 
Informe Final Del Proyecto Poo
Informe Final Del Proyecto PooInforme Final Del Proyecto Poo
Informe Final Del Proyecto PooEPN
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejasalexmerono
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Lenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosLenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosJairo Velasquez Rivera
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosFrancisco Javier Canizales Vazquez
 

La actualidad más candente (20)

Listas
ListasListas
Listas
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Clase math.java
Clase math.javaClase math.java
Clase math.java
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Arreglos c++
Arreglos c++Arreglos c++
Arreglos c++
 
Arreglos vectores pseint
Arreglos vectores pseintArreglos vectores pseint
Arreglos vectores pseint
 
Comandos de raptor
Comandos de raptorComandos de raptor
Comandos de raptor
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Algoritmos Tiposde datos
Algoritmos Tiposde datos Algoritmos Tiposde datos
Algoritmos Tiposde datos
 
Informe Final Del Proyecto Poo
Informe Final Del Proyecto PooInforme Final Del Proyecto Poo
Informe Final Del Proyecto Poo
 
Pilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datosPilas, colas, y listas estructura de datos
Pilas, colas, y listas estructura de datos
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Lenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventosLenguaje de programacion orientado a eventos
Lenguaje de programacion orientado a eventos
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetos
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 

Similar a Informe proyecto final programacion i (2)

Similar a Informe proyecto final programacion i (2) (20)

Taller netbooks parte 2
Taller netbooks parte 2Taller netbooks parte 2
Taller netbooks parte 2
 
Taller netbooks parte_2
Taller netbooks parte_2Taller netbooks parte_2
Taller netbooks parte_2
 
Taller netbooks parte 2
Taller netbooks parte 2 Taller netbooks parte 2
Taller netbooks parte 2
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Herramientas interactivas
Herramientas interactivasHerramientas interactivas
Herramientas interactivas
 
Proyecto Clic
Proyecto ClicProyecto Clic
Proyecto Clic
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60
 
Tecnologia e informatica 11 2
Tecnologia e informatica 11 2Tecnologia e informatica 11 2
Tecnologia e informatica 11 2
 
Informatica 2 tarea 1
Informatica 2 tarea 1Informatica 2 tarea 1
Informatica 2 tarea 1
 
Informatica 2 tarea 1
Informatica 2 tarea 1Informatica 2 tarea 1
Informatica 2 tarea 1
 
Herrmientas de autor
Herrmientas de autorHerrmientas de autor
Herrmientas de autor
 
Tarea # 3 de Tecnologias aplicadas a la educacion.
Tarea # 3 de Tecnologias aplicadas a la educacion.Tarea # 3 de Tecnologias aplicadas a la educacion.
Tarea # 3 de Tecnologias aplicadas a la educacion.
 
Tarea3 de informatiaca aplicada a la educacion
Tarea3 de informatiaca aplicada a la educacionTarea3 de informatiaca aplicada a la educacion
Tarea3 de informatiaca aplicada a la educacion
 
Proyecto kenia gisse miguel aby
Proyecto kenia gisse miguel abyProyecto kenia gisse miguel aby
Proyecto kenia gisse miguel aby
 
Herramientas de autoría
Herramientas de autoríaHerramientas de autoría
Herramientas de autoría
 
Herramientas de autoría
Herramientas de autoríaHerramientas de autoría
Herramientas de autoría
 
Programacion visual II
Programacion visual IIProgramacion visual II
Programacion visual II
 
Taller app inventor
Taller app inventorTaller app inventor
Taller app inventor
 
Herramientas interactivas
Herramientas interactivasHerramientas interactivas
Herramientas interactivas
 

Informe proyecto final programacion i (2)

  • 1. UNIVERSIDAD TÉCNICA DE MACHALA FACULTAD DE INGENIERÍA CIVIL ESCUELA DE INFORMÁTICA PRIMER QUIMESTRE PARALELO A PROGRAMACIÓN 1 UTILITARIOS 1 “TABLAS DE MULTIPLICAR” Proyecto Final de Asignatura Autor es : Torres Reyes , Carolina Vanessa Tapia Moreno, Cristhofer Jonathan Docente : Ing. Fausto Redrován Castillo, Mg. MACHALA - ECUADOR AGOSTO, 2013
  • 2. AUTORÍA: Nosotros, Carolina Vanessa Torres Reyes, Cristhofer Jonathan Tapia Moreno, como autores del presente trabajo de investigación, somos responsables de las ideas, conceptos, procedimientos y resultados vertidos en la misma. f………………………………. f………………………………. Carolina Vanessa Torres Reyes Cristhofer Jonathan Tapia Moreno C.I.: 0705827525 C.I.: 0706028016
  • 3. Proyecto Final de Programación I Y UTILITARIOS i Índice 1JUSTIFICACIÓN ...................................................................................5 2OBJETIVOS..........................................................................................6 Objetivo General.................................................................................6 Objetivos Específicos...........................................................................6 3ANTECEDENTES...................................................................................6 4MARCO TEÓRICO..................................................................................6 Swing...............................................................................................6 Awt..................................................................................................7 Componentes de Swing.......................................................................7 5MARCO METODOLÓGICO.......................................................................9 Análisis de resultados..........................................................................9 Ventana Inicio.................................................................................9 VENTANA MENU.............................................................................10 Solución...........................................................................................13 6CONCLUSIONES..................................................................................18 7RECOMENDACIONES...........................................................................18 8REFERENCIAS BIBLIOGRÁFICAS............................................................19 9ANEXOS............................................................................................19 Código fuente del programa................................................................19 Ventana Inicial..................................................................................19 Ventana Menu................................................................................21 Ventana Tablas...............................................................................23 Ventana Conceptos.........................................................................24 Ventana Juega Razona....................................................................25 Ventana Instrucciones.....................................................................29 Ventana Ahorcado..........................................................................30 Persistencia...................................................................................35 Documentación fotográfica..................................................................35 Índice de ilustraciones Ilustración 1: Ingreso de nombre y edad del usuario..................................15 Ilustración 2: Elegir una opción ..............................................................16 Ilustración 3: Concepto de la multiplicación .............................................16 Ilustración 4: Aprende las tablas de multiplicar.........................................16 Ilustración 5: Nivel avanzado..................................................................17 Ilustración 6: Juega y Razona- Nivel facil.................................................17 Torres, Tapia
  • 4. Proyecto Final de Programación I Y UTILITARIOS i Torres, Tapia
  • 5. Proyecto Final de Programación I Y UTILITARIOS i 1 JUSTIFICACIÓN Este programa es necesario para aplicar los conocimientos aprendidos al transcurso del semestre. Se realiza para tener una mayor aprehensión en cuanto a os conocimientos adquiridos en clase y asimismo, realizar uno en donde se combine la creatividad con las cualidades, teniendo en cuenta las normas que se den en el mismo con un entorno sano. Hasta hoy las metodologías utilizadas con relación a la enseñanza de la matemática se han centrado principalmente en darle al estudiante una definición o una fórmula, para luego resolver ejercicios siguiendo patrones de imitación, sin que los estudiantes entiendan a veces lo que están haciendo, y en general no se desarrollara la capacidad creadora e integradora del estudiante. No se enfatizan los conceptos, pero sí los procedimientos, sin mucho sentido y dando énfasis a la memorización. La siguiente proyecto que mostraremos a continuación está basado en un lenguaje de programación JAVA, en el IDE eclipse klepeer, ya que este es multiplataforma y funciona en diferentes sistemas operativos. Con este programa el usuario podrá jugar de una manera más fácil ya que tiene un entorno interactivo y es muy fácil de manejar. En la actualidad se ha superado la creencia o tendencia de considerar el juego como un “tiempo perdido”. Este cambio, se ha visto reflejado en la inclusión de éste en las actividades recreativas y aprendizaje de las habilidades lingüísticas básicas, siendo un recurso educativo fundamental para potenciar la maduración del usuario. Torres, Tapia
  • 6. Proyecto Final de Programación I Y UTILITARIOS i 2 OBJETIVOS Objetivo General ◦ Aplicar los conocimientos adquiridos durante el semestre para desarrollo e implementación de una aplicación en JAVA, que ayude al aprendizaje del niño en el área de matemáticas. Objetivos Específicos • Determinar los procesos necesarios para la realización de la aplicación • Realizar una interfaz gráfica adecuado, para que el usuario maneje con facilidad la aplicación. • Realizar una aplicación en java, utilizando algoritmos, estructuras y lo necesario para realizar un buen programa. 3 ANTECEDENTES En la actualidad el aprendizaje es un poco mas fácil ya de esta manera la programación tiene como necesidad del ser humano de contar con herramientas y medios que le permitan registrar y manipular la información y desarrollar procedimientos lógicos para obtener diversos resultados a partir de la información ; la cual se ha manifestado desde el caso simple de sumar y restar cantidades, hasta alcanzar las nuevas formas de almacenar, procesar y manipular todo tipo de información. 4 MARCO TEÓRICO Swing “ El paquete Swing es el nuevo paquete gráfico que ha aparecido en la versión 1.2 de Java. Esta compuesto por un amplio conjunto de componentes de interfaces de usuario y que pretenden funcionar en el mayor numero posible de plataformas. Ca a uno de los componentes de este paquete puede presentar diversos aspectos y Torres, Tapia
  • 7. Proyecto Final de Programación I Y UTILITARIOS i comportamientos en función de una biblioteca de clases. Awt componentes pesados (dependen del sistema de ventanas de la plataforma local para determinar su funcionalidad y su apariencia visual). Cada componente pesado tiene un componente asociado (del paquete java.awt.peer), el cual es responsable de las interacciones entre el componente pesado y la plataforma local para mostrarlo y manipularlo. Componentes de Swing JFrame: Representa una ventana básica, capaz de contener otros componentes. Casi todas las aplicaciones construyen al menos un Jframe. JDialog, JOptionPane, etc: Los cuadros de diálogo son JFrame restringidos, dependientes de un JFrame principal. Los JOptionPane son cuadros de diálogo sencillos predefinidos para pedir confirmación, realizar advertencias o notificar errores. Los Jdialog son cuadros de diálogo generales, normalmente utilizados para peticiones de datos. JButton: Distintos tipos de botones. Un check box sirve para marcar una opción. Un radio button permite seleccionar una opción entre varias disponibles. JtextField: Permite indicar el conjunto de caracteres legales que pueden introducirse. JLabel: Permite situar un texto, un texto con una imagen o una imagen únicamente en la ventana. No son interactivos y puede utilizarse código HTML para escribir texto en varias líneas y con varios atributos. Eventos Las GUI`s están controladas por eventos (generan eventos cuando el usuario interactúa con la GUI). Siempre que ocurre una interacción con el usuario se envía un evento al programa. La información de los eventos de la GUI se almacena en un objeto de una clase que extiende a AWTEvent. Los eventos que vamos a gestionar en los ejemplos correspondientes a nuestros componentes pertenecen al paquete java.awt.event. También se han agregado tipos de eventos adicionales, específicos para varios tipos de componentes Swing. Torres, Tapia
  • 8. Proyecto Final de Programación I Y UTILITARIOS i Estos eventos se definen en el paquete javax.swing.event. Para procesar un evento de interfaz gráfica de usuario, el programador debe realizar dos tareas clave: -Registrar un componente que escuche eventos (es un objeto de una clase que implementa una o más de las interfaces que escuchan eventos correspondientes a los paquetes java.awt.event y javax.swing.event). -Implementar un manejado de eventos (método que se invoca automáticamente en respuesta a un tipo específico de evento). ActionListener: captura cierto tipo de acción realizada sobre ciertos componentes. Por ejemplo, pulsar un botón, seleccionar un elemento en una lista desplegable o una opción en un menú. String getText(): Selecciona u obtiene el texto mostrado en el botón. void setIcon(Icon):Selecciona u obtiene la imagen mostrada por el botón cuando no está seleccionado o pulsado. “[Javier Ovejero Sánchez] Final :es un atributo que le pones ya sea a una variable o a un método, para indicar que ya no puede ser cambiado una vez declarado. Su valor ya no puede ser cambiado una vez inicializado por lo que es útil para ciertos casos en los que deseas que una variable contenga un valor en el que quieras estar seguro que su valor es constante. Debido a esto, debes inicializarla al momento de declararla, o en el caso de las versiones mas recientes del JDK, dentro del constructor de la clase (por si quisieras que tuviera un valor constante al momento de crear el objeto.) Esto es para evitar que el método sea sobrescrito ('overriden') por una subclase de la clase que contenga dicho método con el fin de preservar el comportamiento original deseado en la clase base. static:los atributos miembros de una clase pueden ser atributos de clase o atributos de instancia; se dice que son atributos de clase si se usa la palabra clave static: en ese caso la variable es única para todas las instancias (objetos) de la clase (ocupa un único lugar en memoria). A veces a las variables de clase se les llama variables estáticas. Si no se usa static, el sistema crea un lugar nuevo para esa variable con cada instancia (la variable es diferente para cada objeto). En el caso de una constante no tiene sentido crear un nuevo lugar de memoria por cada Torres, Tapia
  • 9. Proyecto Final de Programación I Y UTILITARIOS i objeto de una clase que se cree. Por ello es adecuado el uso de la palabra clave static. Cuando usamos “static final” se dice que creamos una constante de clase, un atributo común a todos los objetos de esa clase. [Alex Rodríguez] 5 MARCO METODOLÓGICO Análisis de resultados Ventana Inicio 1. Inicio 2. Mostrar “ Ingrese su nombre” 3. Leer --> Nombredeljugador 4. Mostrar “ Ingrese su edad” 5. Leer --> edades 6. Clic botón btnMenuJuego 7. Si nombredeljugador <0 && edades <0 entonces 8. Si edad<=2 entonces 9. Si edades ==0 || edades <9 entonces 10. Mostrar "Ingresa una edad valida entre 9 Y 15" 11. Caso contrario 12. Si edades>8 && edades<13 13. Mostrar "EL EXITO ES JUGAR Y APRENDER CUANDO ERES NIÑO, DISFRUTA EL JUEGO" 14. Visualiza VentanaMenu 15. Oculta VentanaInicio 16. Caso contrario 17. Si edades<16 18. Mostrar "JOVEN ERES EL FUTURO DE LA PATRIA, DISFRUTA EL JUEGO" 19. Visualiza VentanaMenu Torres, Tapia
  • 10. Proyecto Final de Programación I Y UTILITARIOS i 20. Oculta VentanaInicio 21. Caso contrario 22. Mostrar "INGRESA UNA EDAD VALIDA ENTRE 9 Y 15" 23. Caso contrario 24. Mostrar “INGRESA UNA EDAD DE DOS DIGITOS COMO MAXIMO" 25. Caso contrario 26. Mostrar "LLENA TODOS LOS CAMPOS" 27. Fin_Si 28. Fin_Si 29. Fin_Si 30. Fin_Si 31. Fin_Si 32. Fin_Si 33. Fin_No 34. Fin_No 35. Fin_No 36. Fin_No 37. Fin_No 38. Fin VENTANA MENU 1. Botón visualizar las tablas 2. Inicio 3. Crear Objeto Botón 4. Objeto Botón == btnAprendeLasTablas 5. Asignar Evento Clic al botón 6. Si Clic en btnAprendeLasTablas 7. Visualizo ventanaTablas Torres, Tapia
  • 11. Proyecto Final de Programación I Y UTILITARIOS i 8. Ocultar ventanaMenu 9. Fin_Si 10. Fin Botón Concepto 1. Inicio 2. Crear Objeto Botón 3. Objeto Botón == btnConceptos 4. Asignar Evento Clic al botón 5. Si Clic en btnConceptos 6. Visualizo ventanaConceptos 7. Ocultar ventanaMenu 8. Fin_Si 9. Fin Botón Nivel Fácil 1. Inicio 2. Crear Objeto Botón 3. Objeto Botón == btnNivelFacil 4. Asignar Evento Clic al botón 5. Si Clic en btnNivelFacil 6. Visualizo ventanaJuegaRazona 7. Ocultar ventanaMenu 8. Fin_Si 9. Fin Torres, Tapia
  • 12. Proyecto Final de Programación I Y UTILITARIOS i Botón Nivel Avanzado 1. Inicio 2. Crear Objeto Botón 3. Objeto Botón == btnNivelAvanzado 4. Asignar Evento Clic al botón 5. Si Clic en btnNivelAvanzado 6. Visualizo ventanaInicio 7. Ocultar ventanaMenu 8. Fin_Si 9. Fin Botón Salir 1. Inicio 2. Crear Objeto Botón 3. Objeto Botón == btnSalir 4. Asignar Evento Clic al botón 5. Si Click en btnSAlir 6. Fin_Si 7. Fin Botón Instrucciones 1. Inicio 2. Crear Objeto Botón 3. Objeto Botón == btnInstrucciones 4. Asignar Evento Clic al botón Torres, Tapia
  • 13. Proyecto Final de Programación I Y UTILITARIOS i 5. Si Clic en btnInstrucciones 6. Visualizo ventanaInicio 7. Ocultar ventanaMenu 8. Fin_Si 9. Fin Botón Instrucciones 1. Inicio 2. Crear Objeto Botón 3. Objeto Botón == btnNuevoNombre 4. Asignar Evento Clic al botón 5. Si Click en btnNuevoNombre 6. Visualizo ventanaInicio 7. Ocultar ventanaMenu 8. Fin_Si 9. Fin Solución Complementar los conocimientos básicos relacionados con la multiplicación. En esta pantalla el usuario ingresa su nombre y su edad, da clic en el botón inicio e ingresa al menú Torres, Tapia
  • 14. Proyecto Final de Programación I Y UTILITARIOS i Torres, Tapia
  • 15. Proyecto Final de Programación I Y UTILITARIOS i En esta pantalla en usuario elige una opción, encontramos: • Instrucciones • Conceptos • Tablas de multiplicar • Nuevo nombre • Juega y razona – Nivel Fácil • Nivel Avanzado • Salir Torres, Tapia Ilustración 1: Ingreso de nombre y edad del usuario
  • 16. Proyecto Final de Programación I Y UTILITARIOS i En esta pantalla muestra información acerca de las tablas de multiplicar Aquí Visualiza Las Tablas para que así pueda repasar y aprenderlas y poder jugar. Torres, Tapia Ilustración 2: Elegir una opción Ilustración 3: Concepto de la multiplicación Ilustración 4: Aprende las tablas de multiplicar
  • 17. Proyecto Final de Programación I Y UTILITARIOS i Nivel avanzado, este nivel nos vota tablas de multiplicar de mas de 2 cifras Nivel fácil, este nivel nos da multiplicaciones de solo 1 dígito. Torres, Tapia Ilustración 5: Nivel avanzado Ilustración 6: Juega y Razona- Nivel facil
  • 18. Proyecto Final de Programación I Y UTILITARIOS i 6 CONCLUSIONES • El proyecto realizado permite aplicar nuestros conocimientos tratados en el transcurso del semestre. • Para la utilización de la interfaz gráfica se requiera la importación de paquetes. • Todo código bien estructurado se le permite aplicar un mantenimiento colectivo rápido. 7 RECOMENDACIONES • En presencia de errores de compilación o en tiempo de ejecución realice una revisión secuencial, inspeccionando el código de arriba hacia abajo • Implementar el uso convencional de documentación de todo proceso de la aplicación. • Utilizar la información respectiva necesaria que contiene el API de JAVA, sobre todo si se emplea excepciones. • Escribir código antes que copiar y pegar, pues permite ir asegurándose de que se esta utilizando de manera correcta la sintaxis en el lenguaje de programación. • Implementar una interfaz amigable y así permitir hacer que la aplicación y sus procesos sean mas intuitivos. • Almacenar y visualizar la información del usuario de la aplicación, permitiendo observar avances que se consigue con la practica, estimulando de esta forma la superación y competitividad; Ademas de respaldo de información ingresada en la aplicación. Torres, Tapia
  • 19. Proyecto Final de Programación I Y UTILITARIOS i 8 REFERENCIAS BIBLIOGRÁFICAS [Javier Ovejero Sánchez] [Alex Rodríguez] 9 ANEXOS. Código fuente del programa Ventana Inicial final JTextField nombre = new JTextField(); final JTextField edad = new JTextField(); ventanaInicio.setSize(800, 359); ventanaInicio.setVisible(true); ventanaInicio.setResizable(false); ventanaInicio.setLayout(null); ventanaInicio.setLocationRelativeTo(null); ventanaInicio.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.cla ss.getResource("/imagenes/icono.jpg"))); ventanaInicio.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JButton btnMenuJuego = new JButton("Menu de Juego"); btnMenuJuego.setForeground(Color.WHITE); btnMenuJuego.setFont(new Font("Broadway", Font.PLAIN, 20)); btnMenuJuego.setBackground(new Color(30, 144, 255)); btnMenuJuego.setBounds(300, 270, 200, 50); btnMenuJuego.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { if(edad.getText().length()>0 && nombre.getText().length()>0){ if(edad.getText().length()<=2){ int edades = Integer.parseInt(edad.getText()); if (edades ==0 || edades <9) { JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio,"INGRESA UN EDAD VALIDA ENTRE 9 Y 15", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE); } else { if(edades>8 && edades<13){ JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "EL EXITO ES JUGAR Y APRENDER CUANDO ERES NIÑO, DISFRUTA EL JUEGO", "CRISVAN MENSAJE", JOptionPane.INFORMATION_MESSAGE); ventanaMenu.setVisible(true); ventanaInicio.setVisible(false); Torres, Tapia
  • 20. Proyecto Final de Programación I Y UTILITARIOS i nombreJuegador = nombre.getText(); } else{ if (edades<16) { JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "JOVEN ERES EL FUTURO DE LA PATRIA, DISFRUTA EL JUEGO", "CRISVAN MENSAJE", JOptionPane.INFORMATION_MESSAGE); ventanaMenu.setVisible(true); ventanaInicio.setVisible(false); nombreJuegador = nombre.getText(); } else{ JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "INGRESA UNA EDAD VALIDA ENTRE 9 Y 15", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE); } } } } else{ JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "INGRESA UNA EDAD DE DOS DIGITOS COMO MAXIMO", "ADVERTENCIA...!", JOptionPane.WARNING_MESSAGE); } } else{ JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaInicio, "LLENA TODOS LOS CAMPOS", "ADVERTENCIA...!", JOptionPane.WARNING_MESSAGE); } } }); ventanaInicio.add(btnMenuJuego); nombre.setBounds(90, 100, 300, 30); nombre.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent e) { char c = e.getKeyChar(); if((c<'A' || c>'Z') && (c<'a' || c>'z') && (c!=(char)KeyEvent.VK_SPACE)) { e.consume(); } } }); ventanaInicio.add(nombre); edad.setBounds(90, 200, 300, 30); edad.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent e) { char caracter = e.getKeyChar(); if(((caracter < '0') || (caracter > '9')) && Torres, Tapia
  • 21. Proyecto Final de Programación I Y UTILITARIOS i (caracter != KeyEvent.VK_BACK_SPACE)) { e.consume(); } } }); ventanaInicio.add(edad); JLabel lblTextoEdad = new JLabel("Ingresa tu edad"); lblTextoEdad.setForeground(Color.WHITE); lblTextoEdad.setFont(new Font("Broadway", Font.PLAIN, 20)); lblTextoEdad.setBounds(90, 150, 300, 45); ventanaInicio.add(lblTextoEdad); JLabel lblTextoNombre = new JLabel("Ingresa tu nombre"); lblTextoNombre.setForeground(Color.WHITE); lblTextoNombre.setFont(new Font("Broadway", Font.PLAIN, 20)); lblTextoNombre.setBounds(90, 45, 300, 45); ventanaInicio.add(lblTextoNombre); JLabel lblTextoBienvenido = new JLabel("BIENVENIDO"); lblTextoBienvenido.setForeground(Color.WHITE); lblTextoBienvenido.setFont(new Font("Broadway", Font.PLAIN, 25)); lblTextoBienvenido.setBounds(325, 0, 300, 50); ventanaInicio.add(lblTextoBienvenido); JLabel lblFondoVentaniaInicio = new JLabel(); lblFondoVentaniaInicio.setBounds(0,0,800, 359); lblFondoVentaniaInicio.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/inicio.jpg"))); ventanaInicio.add(lblFondoVentaniaInicio); Ventana Menu ventanaMenu.setSize(898, 562); ventanaMenu.setVisible(false); ventanaMenu.setResizable(false); ventanaMenu.setLayout(null); ventanaMenu.setLocationRelativeTo(null); ventanaMenu.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.class .getResource("/imagenes/icono.jpg"))); ventanaMenu.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); JButton btnAprendeLasTablas = new JButton("Tablas de Multiplicar"); btnAprendeLasTablas.setForeground(Color.WHITE); btnAprendeLasTablas.setFont(new Font("Broadway", Font.PLAIN, 12)); btnAprendeLasTablas.setBounds(30, 350, 200, 50); btnAprendeLasTablas.setBackground(new Color(30, 144, 255)); btnAprendeLasTablas.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaTablas.setVisible(true); ventanaMenu.setVisible(false); Torres, Tapia
  • 22. Proyecto Final de Programación I Y UTILITARIOS i } }); ventanaMenu.add(btnAprendeLasTablas); JButton btnConceptos = new JButton("Conceptos"); btnConceptos.setForeground(Color.WHITE); btnConceptos.setFont(new Font("Broadway", Font.PLAIN, 12)); btnConceptos.setBounds(30, 250, 200, 50); btnConceptos.setBackground(new Color(30, 144, 255)); btnConceptos.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaConceptos.setVisible(true); ventanaMenu.setVisible(false); } }); ventanaMenu.add(btnConceptos); JButton btnNivelFacil = new JButton("Nivel fácil "); btnNivelFacil.setForeground(Color.WHITE); btnNivelFacil.setFont(new Font("Broadway", Font.PLAIN, 12)); btnNivelFacil.setBounds(670, 250, 200, 50); btnNivelFacil.setBackground(new Color(30, 144, 255)); btnNivelFacil.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaJuegaRazona.setVisible(true); ventanaMenu.setVisible(false); } }); ventanaMenu.add(btnNivelFacil); JButton btnSalir = new JButton("Salir"); btnSalir.setForeground(Color.WHITE); btnSalir.setFont(new Font("Broadway", Font.PLAIN, 12)); btnSalir.setBounds(350, 475, 200, 50); btnSalir.setBackground(new Color(30, 144, 255)); btnSalir.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { System.exit(0); } }); ventanaMenu.add(btnSalir); JButton btnNuevoNombre = new JButton("Nuevo Nombre"); btnNuevoNombre.setForeground(Color.WHITE); btnNuevoNombre.setFont(new Font("Broadway", Font.PLAIN, 12)); btnNuevoNombre.setBounds(670, 150, 200, 50); btnNuevoNombre.setBackground(new Color(30, 144, 255)); btnNuevoNombre.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaInicio.setVisible(true); ventanaMenu.setVisible(false); } }); Torres, Tapia
  • 23. Proyecto Final de Programación I Y UTILITARIOS i ventanaMenu.add(btnNuevoNombre); JButton btnInstruccion = new JButton("Instrucciones"); btnInstruccion.setForeground(Color.WHITE); btnInstruccion.setFont(new Font("Broadway", Font.PLAIN, 12)); btnInstruccion.setBounds(30, 150, 200, 50); btnInstruccion.setBackground(new Color(30, 144, 255)); btnInstruccion.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaInstrucciones.setVisible(true); ventanaMenu.setVisible(false); } }); ventanaMenu.add(btnInstruccion); JButton btnNivelAvanzado = new JButton("Nivel avanzado"); btnNivelAvanzado.setForeground(Color.WHITE); btnNivelAvanzado.setFont(new Font("Broadway", Font.PLAIN, 12)); btnNivelAvanzado.setBounds(670, 350, 200, 50); btnNivelAvanzado.setBackground(new Color(30, 144, 255)); btnNivelAvanzado.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { AhorcadoInicio.setVisible(true); ventanaMenu.setVisible(false); } }); ventanaMenu.add(btnNivelAvanzado); JLabel lblTextoOpcion = new JLabel("ElIGE UNA OPCION"); lblTextoOpcion.setForeground(Color.ORANGE); lblTextoOpcion.setFont(new Font("Broadway", Font.PLAIN, 50)); lblTextoOpcion.setBounds(206, 10, 500, 50); ventanaMenu.add(lblTextoOpcion); JLabel lblFondoVentanaMenu = new JLabel(); lblFondoVentanaMenu.setSize(898,562); lblFondoVentanaMenu.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/fondo_inicio.jpg"))); ventanaMenu.add(lblFondoVentanaMenu); Ventana Tablas ventanaTablas.setSize(900, 680); ventanaTablas.setVisible(false); ventanaTablas.setResizable(false); ventanaTablas.setLayout(null); ventanaTablas.setLocationRelativeTo(null); ventanaTablas.setBackground(new Color(135, 206, 235)); ventanaTablas.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.cla ss.getResource("/imagenes/icono.jpg"))); ventanaTablas.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); Torres, Tapia
  • 24. Proyecto Final de Programación I Y UTILITARIOS i JButton btnInicioUno = new JButton("Inicio"); btnInicioUno.setForeground(Color.WHITE); btnInicioUno.setFont(new Font("Broadway", Font.PLAIN, 20)); btnInicioUno.setBounds(350, 600, 200, 50); btnInicioUno.setBackground(new Color(30, 144, 255)); btnInicioUno.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaMenu.setVisible(true); ventanaTablas.setVisible(false); } }); ventanaTablas.add(btnInicioUno); JLabel lblFondoTablasMultiplicar = new JLabel(""); lblFondoTablasMultiplicar.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/todaslastablas.jpg"))); lblFondoTablasMultiplicar.setBounds(0, 0, 900, 601); ventanaTablas.add(lblFondoTablasMultiplicar); Ventana Conceptos ventanaConceptos.setSize(526, 700); ventanaConceptos.setVisible(false); ventanaConceptos.setResizable(false); ventanaConceptos.setLayout(null); ventanaConceptos.setLocationRelativeTo(null); ventanaConceptos.setBackground(new Color(135, 206, 235)); ventanaConceptos.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar. class.getResource("/imagenes/icono.jpg"))); ventanaConceptos.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); JButton btnInicioDos = new JButton("Inicio"); btnInicioDos.setForeground(Color.WHITE); btnInicioDos.setFont(new Font("Broadway", Font.PLAIN, 20)); btnInicioDos.setBounds(150, 620, 200, 50); btnInicioDos.setBackground(new Color(30, 144, 255)); btnInicioDos.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaMenu.setVisible(true); ventanaConceptos.setVisible(false); } }); ventanaConceptos.add(btnInicioDos); JLabel lblfondo = new JLabel(); lblfondo.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/descripcion .jpg"))); lblfondo.setBounds(0, 0, 520, 622); ventanaConceptos.add(lblfondo); Torres, Tapia
  • 25. Proyecto Final de Programación I Y UTILITARIOS i Ventana Juega Razona final JLabel lblNumero1 = new JLabel(); final JLabel lblNumero2 = new JLabel(); final JLabel lblError = new JLabel(); final JLabel lblAcierto = new JLabel(); final JLabel lblPuntaje1 = new JLabel(); final JLabel lblPuntaje2 = new JLabel(); final JTextField respuesta = new JTextField(); final JButton btnInicioTres = new JButton("Inicio"); final JButton btnGenerarNumeros = new JButton("Números"); final JButton btnComprobar = new JButton("Comprobar"); ventanaJuegaRazona.setSize(898, 580); ventanaJuegaRazona.setVisible(false); ventanaJuegaRazona.setResizable(false); ventanaJuegaRazona.setLayout(null); ventanaJuegaRazona.setLocationRelativeTo(null); ventanaJuegaRazona.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplica r.class.getResource("/imagenes/icono.jpg"))); ventanaJuegaRazona.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); respuesta.setBounds(470, 30, 175, 177); respuesta.setVisible(true); respuesta.setFont(new Font("Arial", Font.PLAIN, 150)); respuesta.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent e) { char caracter = e.getKeyChar(); if(((caracter < '0') || (caracter > '9')) && (caracter != KeyEvent.VK_BACK_SPACE)) { e.consume(); } } }); ventanaJuegaRazona.add(respuesta); btnInicioTres.setForeground(Color.WHITE); btnInicioTres.setFont(new Font("Broadway", Font.PLAIN, 20)); btnInicioTres.setVisible(false); btnInicioTres.setBounds(350, 500, 200, 50); btnInicioTres.setBackground(new Color(30, 144, 255)); btnInicioTres.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaMenu.setVisible(true); ventanaJuegaRazona.setVisible(false); } }); ventanaJuegaRazona.add(btnInicioTres); Torres, Tapia
  • 26. Proyecto Final de Programación I Y UTILITARIOS i btnGenerarNumeros.setForeground(Color.WHITE); btnGenerarNumeros.setFont(new Font("Broadway", Font.PLAIN, 20)); btnGenerarNumeros.setBounds(50, 230, 200, 50); btnGenerarNumeros.setBackground(new Color(30, 144, 255)); btnGenerarNumeros.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0){ final int aleatorio1 = (int) (Math.floor(Math.random()*(9 - 1 +1))+1); final int aleatorio2 = (int) (Math.floor(Math.random()*(9 - 1 +1))+1); lblNumero1.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/"+aleatorio1+".jpg"))); lblNumero2.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/"+aleatorio2+".jpg"))); resultadoMultiplicacion = aleatorio1 * aleatorio2; btnGenerarNumeros.setVisible(false); btnComprobar.setVisible(true); respuesta.setText(null); btnInicioTres.setVisible(false); } }); ventanaJuegaRazona.add(btnGenerarNumeros); btnComprobar.setVisible(false); btnComprobar.setForeground(Color.WHITE); btnComprobar.setFont(new Font("Broadway", Font.PLAIN, 20)); btnComprobar.setBounds(300, 230, 200, 50); btnComprobar.setBackground(new Color(30, 144, 255)); btnComprobar.addActionListener(new ActionListener() { int intento = 1; @Override public void actionPerformed(ActionEvent arg0) { if (respuesta.getText().length() == 0) { JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"INGRESA UNA RESPUESTA VALIDA", "CRISVAN MENSAJE", JOptionPane.ERROR_MESSAGE); } else { if (respuesta.getText().length()<3) { int txtrespuesta = Integer.parseInt(respuesta.getText()); if (txtrespuesta !=0) { if (resultadoMultiplicacion == txtrespuesta) { JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"FELICITACIONES, ACERTASTE", "CRISVAN MENSAJE", JOptionPane.INFORMATION_MESSAGE); acierto++; lblError.setVisible(false); lblAcierto.setVisible(true); btnComprobar.setVisible(false); btnGenerarNumeros.setVisible(true); respuesta.setText(null); Torres, Tapia
  • 27. Proyecto Final de Programación I Y UTILITARIOS i lblPuntaje1.setVisible(true); lblPuntaje1.setText("ACIERTOS: "+acierto); }else { JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"FALLASTE, SIGUE INTENTANDO", "CRISVAN MENSAJE", JOptionPane.ERROR_MESSAGE); error++; lblError.setVisible(true); lblAcierto.setVisible(false); btnComprobar.setVisible(false); btnGenerarNumeros.setVisible(true); respuesta.setText(null); lblPuntaje2.setVisible(true); lblPuntaje2.setText("ERRORES: "+error); } if(intento++ ==10){ if (acierto > error) { JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"FELICIDADES "+nombreJuegador+"n GANASTES CON "+acierto+" ACIERTOS", "CRISVAN MENSAJE", JOptionPane.INFORMATION_MESSAGE); } else { if(acierto == error){ JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"EMPATAS NI GANAS NI PIERDES"+nombreJuegador+"n ERRORES: "+error+"n ACIERTOS: "+acierto, "CRISVAN MENSAJE", JOptionPane.INFORMATION_MESSAGE); }else{ JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"LASTIMA "+nombreJuegador+"n PERDISTE CON "+error+" ERRORES", "CRISVAN MENSAJE", JOptionPane.INFORMATION_MESSAGE); } } JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"JUEGO TERMINADO", "CRISVAN MENSAJE", JOptionPane.OK_OPTION); intento = 1; lblError.setVisible(false); lblAcierto.setVisible(false); lblNumero1.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/vacio1.jpg"))); lblNumero2.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/vacio1.jpg"))); lblPuntaje1.setVisible(false); lblPuntaje2.setVisible(false); acierto = 0; error = 0; Torres, Tapia
  • 28. Proyecto Final de Programación I Y UTILITARIOS i btnInicioTres.setVisible(true); btnComprobar.setVisible(false); btnGenerarNumeros.setVisible(true); respuesta.setText(null); } } else { JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"INGRESA UNA RESPUESTA VALIDA", "CRISVAN MENSAJE", JOptionPane.ERROR_MESSAGE); } } else{ JOptionPane.showMessageDialog(TablasDeMultiplicar.ventanaJuegaRazona,"INGRESA UNA RESPUESTA VALIDA", "CRISVAN MENSAJE", JOptionPane.ERROR_MESSAGE); } } } }); ventanaJuegaRazona.add(btnComprobar); lblNumero1.setBounds(50, 30, 125, 177); lblNumero1.setVisible(true); lblNumero1.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/vacio1.jpg"))); ventanaJuegaRazona.add(lblNumero1); JLabel lblSignoMultiplicacion = new JLabel("x"); lblSignoMultiplicacion.setForeground(Color.WHITE); lblSignoMultiplicacion.setFont(new Font("Broadway", Font.PLAIN, 100)); lblSignoMultiplicacion.setBounds(185, 70, 90, 90); lblSignoMultiplicacion.setVisible(true); ventanaJuegaRazona.add(lblSignoMultiplicacion); lblNumero2.setBounds(270, 30, 125, 177); lblNumero2.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/vacio1.jpg"))); lblNumero2.setVisible(true); ventanaJuegaRazona.add(lblNumero2); JLabel lblSignoIgual = new JLabel("="); lblSignoIgual.setForeground(Color.WHITE); lblSignoIgual.setFont(new Font("Broadway", Font.PLAIN, 100)); lblSignoIgual.setBounds(400, 70, 90, 90); lblSignoIgual.setVisible(true); ventanaJuegaRazona.add(lblSignoIgual); lblPuntaje1.setBounds(50, 300, 200, 50); lblPuntaje1.setForeground(Color.WHITE); lblPuntaje1.setFont(new Font("Broadway", Font.PLAIN, 20)); lblPuntaje1.setVisible(false); ventanaJuegaRazona.add(lblPuntaje1); Torres, Tapia
  • 29. Proyecto Final de Programación I Y UTILITARIOS i lblPuntaje2.setBounds(50, 400, 200, 50); lblPuntaje2.setForeground(Color.WHITE); lblPuntaje2.setFont(new Font("Broadway", Font.PLAIN, 20)); lblPuntaje2.setVisible(false); ventanaJuegaRazona.add(lblPuntaje2); lblAcierto.setBounds(308, 290, 259, 201); lblAcierto.setVisible(false); lblAcierto.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/acierto.jpg"))); ventanaJuegaRazona.add(lblAcierto); lblError.setBounds(308, 290, 259, 201); lblError.setVisible(false); lblError.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/error.jpg"))); ventanaJuegaRazona.add(lblError); JLabel lblFondoVentanaJuegaRazona = new JLabel(); lblFondoVentanaJuegaRazona.setBounds(0, 0, 898, 562); lblFondoVentanaJuegaRazona.setVisible(true); lblFondoVentanaJuegaRazona.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/jugar.jpg"))); ventanaJuegaRazona.add(lblFondoVentanaJuegaRazona); Ventana Instrucciones ventanaInstrucciones.setSize(520, 705); ventanaInstrucciones.setVisible(false); ventanaInstrucciones.setResizable(false); ventanaInstrucciones.setLayout(null); ventanaInstrucciones.setLocationRelativeTo(null); ventanaInstrucciones.setBackground(new Color(135, 206, 235)); ventanaInstrucciones.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultipli car.class.getResource("/imagenes/icono.jpg"))); ventanaInstrucciones.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); JButton btnInicioCinco = new JButton("Inicio"); btnInicioCinco.setForeground(Color.WHITE); btnInicioCinco.setFont(new Font("Broadway", Font.PLAIN, 20)); btnInicioCinco.setBounds(150, 395, 200, 50); btnInicioCinco.setBackground(new Color(30, 144, 255)); btnInicioCinco.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaMenu.setVisible(true); ventanaInstrucciones.setVisible(false); } }); ventanaInstrucciones.add(btnInicioCinco); JLabel lblFondoVentanaInstrucciones = new JLabel(); lblFondoVentanaInstrucciones.setBounds(0, 0, 520, 705); Torres, Tapia
  • 30. Proyecto Final de Programación I Y UTILITARIOS i lblFondoVentanaInstrucciones.setVisible(true); lblFondoVentanaInstrucciones.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/instrucciones.jpg"))); ventanaInstrucciones.add(lblFondoVentanaInstrucciones); Ventana Ahorcado final JTextField numerosIngresados = new JTextField(); final JLabel expresionMultiplicacion = new JLabel(); final JLabel lblverdugo = new JLabel(); final JButton generarNumeros = new JButton("Números"); final JButton Comprobar = new JButton("Comprobar"); final JButton inicioAhorcado = new JButton("Inicio"); AhorcadoInicio.setLayout(null); AhorcadoInicio.setVisible(false); AhorcadoInicio.setResizable(false); AhorcadoInicio.setSize(500,475); AhorcadoInicio.setBackground(Color.WHITE); AhorcadoInicio.setLocationRelativeTo(null); AhorcadoInicio.setIconImage(Toolkit.getDefaultToolkit().getImage(TablasDeMultiplicar.cl ass.getResource("/imagenes/icono.jpg"))); AhorcadoInicio.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); numerosIngresados.setBounds(25, 120, 210, 50); numerosIngresados.setForeground(new Color(30, 144, 255)); numerosIngresados.setFont(new Font("Broadway", Font.PLAIN, 50)); numerosIngresados.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(java.awt.event.KeyEvent e) { char caracter = e.getKeyChar(); if(((caracter < '0') || (caracter > '9')) && (caracter != KeyEvent.VK_BACK_SPACE)) { e.consume(); } } }); AhorcadoInicio.add(numerosIngresados); generarNumeros.setForeground(Color.WHITE); generarNumeros.setFont(new Font("Broadway", Font.PLAIN, 20)); generarNumeros.setBounds(25,330,200,50); generarNumeros.setBackground(new Color(30, 144, 255)); generarNumeros.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub int aleatorio1 = (int)(Math.floor(Math.random()*(999 - 1 +1))+1); int aleatorio2 = (int)(Math.floor(Math.random()*(999 - 1 +1))+1); expresionMultiplicacion.setText(aleatorio1+" x Torres, Tapia
  • 31. Proyecto Final de Programación I Y UTILITARIOS i "+aleatorio2+" = ?"); resultado = aleatorio1*aleatorio2; numerosIngresados.setText(null); generarNumeros.setVisible(false); Comprobar.setVisible(true); } }); AhorcadoInicio.add(generarNumeros); Comprobar.setForeground(Color.WHITE); Comprobar.setFont(new Font("Broadway", Font.PLAIN, 20)); Comprobar.setBounds(25,330,200,50); Comprobar.setBackground(new Color(30, 144, 255)); Comprobar.setVisible(false); Comprobar.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { if (numerosIngresados.getText().length() == 0) { JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"LLENA EL CAMPO DE TEXTO", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE); }else{ if (numerosIngresados.getText().length() < 7) { int contenidoEdad = Integer.parseInt(numerosIngresados.getText()); if (contenidoEdad == 0) { JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"INGRESA UNA RESPUESTA VALIDA", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE); } else { if (contenidoEdad == resultado) { JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"ADIVINAZTE", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE); numerosIngresados.setText(null); Comprobar.setVisible(false); generarNumeros.setVisible(true); inicioAhorcado.setVisible(true); } else { JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"FALLASTE", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE); numerosIngresados.setText(null); Comprobar.setVisible(true); lblverdugo.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imageneAhorcado/"+(++errorAhorcado) +".jpg"))); if (errorAhorcado == 5 ) { Comprobar.setVisible(false); generarNumeros.setVisible(true); errorAhorcado = 1; JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"PERDISTE n LA RESPUESTA CORRECTA ERA "+resultado, "CRISVAN MENSAJE", Torres, Tapia
  • 32. Proyecto Final de Programación I Y UTILITARIOS i JOptionPane.INFORMATION_MESSAGE); lblverdugo.setVisible(false); inicioAhorcado.setVisible(true); } } } } else { JOptionPane.showMessageDialog(TablasDeMultiplicar.AhorcadoInicio,"INGRESA COMO MAXIMO 6 DIGITOS", "CRISVAN MENSAJE", JOptionPane.WARNING_MESSAGE); } } } }); AhorcadoInicio.add(Comprobar); inicioAhorcado.setForeground(Color.WHITE); inicioAhorcado.setFont(new Font("Broadway", Font.PLAIN, 20)); inicioAhorcado.setBounds(25,390,200,50); inicioAhorcado.setBackground(new Color(30, 144, 255)); inicioAhorcado.setVisible(false); inicioAhorcado.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { ventanaMenu.setVisible(true); AhorcadoInicio.setVisible(false); } }); AhorcadoInicio.add(inicioAhorcado); JButton btnCero = new JButton("0"); btnCero.setBounds(25, 200, 41, 41); btnCero.setBackground(new Color(30, 144, 255)); btnCero.setForeground(Color.WHITE); btnCero.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"0"); } }); AhorcadoInicio.add(btnCero); JButton btnUno = new JButton("1"); btnUno.setForeground(Color.WHITE); btnUno.setBounds(67, 200, 41, 41); btnUno.setBackground(new Color(30, 144, 255)); btnUno.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"1"); Torres, Tapia
  • 33. Proyecto Final de Programación I Y UTILITARIOS i } }); AhorcadoInicio.add(btnUno); JButton btnDos = new JButton("2"); btnDos.setForeground(Color.WHITE); btnDos.setBounds(109, 200, 41, 41); btnDos.setBackground(new Color(30, 144, 255)); btnDos.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"2"); } }); AhorcadoInicio.add(btnDos); JButton btnTres = new JButton("3"); btnTres.setForeground(Color.WHITE); btnTres.setBackground(new Color(30, 144, 255)); btnTres.setBounds(151, 200, 41, 41); btnTres.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"3"); } }); AhorcadoInicio.add(btnTres); JButton btnCuatro = new JButton("4"); btnCuatro.setForeground(Color.WHITE); btnCuatro.setBackground(new Color(30, 144, 255)); btnCuatro.setBounds(193, 200, 41, 41); btnCuatro.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"4"); } }); AhorcadoInicio.add(btnCuatro); JButton btnCinco = new JButton("5"); btnCinco.setForeground(Color.WHITE); btnCinco.setBackground(new Color(30, 144, 255)); btnCinco.setBounds(25, 242, 41, 41); btnCinco.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub Torres, Tapia
  • 34. Proyecto Final de Programación I Y UTILITARIOS i numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"5"); } }); AhorcadoInicio.add(btnCinco); JButton btnSeis = new JButton("6"); btnSeis.setForeground(Color.WHITE); btnSeis.setBackground(new Color(30, 144, 255)); btnSeis.setBounds(67, 242, 41, 41); btnSeis.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"6"); } }); AhorcadoInicio.add(btnSeis); JButton btnSiete = new JButton("7"); btnSiete.setForeground(Color.WHITE); btnSiete.setBackground(new Color(30, 144, 255)); btnSiete.setBounds(109, 242, 41, 41); btnSiete.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"7"); } }); AhorcadoInicio.add(btnSiete); JButton btnOcho = new JButton("8"); btnOcho.setForeground(Color.WHITE); btnOcho.setBackground(new Color(30, 144, 255)); btnOcho.setBounds(151, 242, 41, 41); btnOcho.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub numerosIngresados.setText(numerosIngresados.getText()+"8"); numerosIngresados.requestFocus(); } }); AhorcadoInicio.add(btnOcho); JButton btnNueve = new JButton("9"); btnNueve.setForeground(Color.WHITE); btnNueve.setBackground(new Color(30, 144, 255)); btnNueve.setBounds(193, 242, 41, 41); btnNueve.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { Torres, Tapia
  • 35. Proyecto Final de Programación I Y UTILITARIOS i // TODO Auto-generated method stub numerosIngresados.requestFocus(); numerosIngresados.setText(numerosIngresados.getText()+"9"); } }); AhorcadoInicio.add(btnNueve); expresionMultiplicacion.setBounds(25,1,500,100); expresionMultiplicacion.setForeground(new Color(30, 144, 255)); expresionMultiplicacion.setFont(new Font("Broadway", Font.PLAIN, 50)); AhorcadoInicio.add(expresionMultiplicacion); lblverdugo.setBounds(250,200,250,227); AhorcadoInicio.add(lblverdugo); JLabel fondoAhorcadoInicio = new JLabel(); fondoAhorcadoInicio.setBounds(0, 0, 515,475); fondoAhorcadoInicio.setIcon(new ImageIcon(TablasDeMultiplicar.class.getResource("/imagenes/ahorcadoFondo.jpg"))); AhorcadoInicio.add(fondoAhorcadoInicio); Persistencia File nombreFile; nombreFile = new File("informacionJugador.txt"); try{ FileWriter w = new FileWriter(nombreFile); BufferedWriter bw = new BufferedWriter(w); PrintWriter wr = new PrintWriter(bw); wr.write(nombreJuegador + "ACIERTOS:" +acierto+" ERRORES:"+error); wr.close(); }catch(IOException e){}; Documentación fotográfica Torres, Tapia