Informe final juego de dados
-
Upload
david-gallegos -
Category
Education
-
view
109 -
download
1
Transcript of Informe final juego de dados
UNIVERSIDAD CENTRAL DEL ECUADOR
FACULTAD DE INGENIERÍA CIENCIAS FÍSICAS Y
MATEMÁTICA
INGENIERIA INFORMATICA
INTEGRANTES
Abrajan Lisseth
Gómez Alex
Haro Francisco
Ramírez Leandro
TEMA:
JUEGO DE DADOS
CURSO:
Segundo
PARALELO:
Sexto
PROFESOR:
Vladimir Lucero
AÑO LECTIVO:
2014-2015
INTRODUCCION
Este proyecto reside en el lanzamiento de los dados: la implementación de una guía
capaz de realizar el lanzamiento de dados de forma conjunta y segura, sin la posibilidad
de que ningún jugador pueda hacer “trampas” o cambiar el valor del dado calculado
conjuntamente por todos y cada uno de los jugadores.
El método utilizado para desarrollar el análisis, diseño e implementación de la
aplicación se basa en los principios de la programación orientada a objetos.
De la misma forma que la programación orientada a objetos gira alrededor del concepto
de clase, también giran el análisis de requisitos y el diseño. Por esta razón, el diagrama
básico de estos métodos, el diagrama de clases y objetos, se utilizan tanto en el análisis
como en el diseño; además, muchas de las clases descritas en el análisis de requisitos se
implementan en los programas pasando por el diseño, cosa que hace que el paso del
análisis de requisitos al diseño sea más suave que en los métodos estructurados y
también más sencillo y rápido.
Como dentro de una clase hay a la vez atributos y operaciones, es decir, datos y
procesos, en el desarrollo orientado a objetos, a medida que se definen e implementan
clases se avanza a la vez en estas dos dimensiones. En el desarrollo se construyen
grupos de clases interrelacionados como clases que gestionan la presentación de la
información (interfaz),
El desarrollo orientado a objetos además de introducir técnicas nuevas, también
aprovecha algunas técnicas y conceptos del desarrollo estructurado, como el diagrama
de estados y transiciones.
Existen dos características del desarrollo orientado a objetos que probablemente han
favorecido de manera decisiva su expansión hasta ahora:
• Permite la reutilización de programa en grado significativo, en forma de clases
implementadas. En el caso de nuestro proyecto son ejemplos las librerías AWT para
construir la interfaz.
• Facilita el desarrollo de herramientas informáticas.
Para construir los diagramas de casos de uso, o de objetos se utiliza el modelo llamado
UML, del cual es responsable la organización llamada OMG.
AGRADECIMIENTO
Nuestro agradecimiento va dirigido para quienes hicieron posible este proyecto, a
nuestro tutor el Ing. Lucero por brindarnos los conocimientos requeridos para los
distintos cambios que se realizaron en el juego y compañeros de curso de programación
II de la Facultad de Ingeniería Ciencias Físicas y Matemática de la Universidad Central
del Ecuador ya que con las diversas exposiciones se logró la comprensión acerca de
interfaces gráficas, métodos y funciones en java.
Nuestro agradecimiento también va dirigido hacia el autor del juego de dados, al cual le
hemos dejado un comentario en su video, posteriormente le estaremos enviando el
código modificado.
PLANTEAMIENTO DEL PROBLEMA
Ejecutar el juego de dados utilizando netbeans, obteniendo toda la información del tema
que nos sirva de ayuda para facilitar el desarrollo del juego y así poder tener un mejor
entendimiento del tema y poder realizar otras aplicaciones.
OBJETIVO GENERAL
Realizar el juego de dados en netbeans empleando así los conocimientos obtenidos en
el presente curso y poder utilizar dichos conocimientos en proyectos futuros.
OBJETIVO ESPECIFICO
Implementar y utilizar herramientas de interfaz para llevar a cabo la programación de la
aplicación del juego de los dados y así permitir al usuario interactuar con el juego. .
DESARROLLO
El Juego de dados consiste en un lanzamiento aleatorio por parte de la máquina y
del usuario en el cuál gana cierta cantidad de dinero de acuerdo a lo siguiente:
• Si en el primer tiro lanzas el número 7 u 11 ganas.
• Si lanzas un 2, 3 o 12 pierdes.
• Si el dado da tres entonces gana 3 dólares.
• Si lanzas cualquier otro número este se convierte en tu número base y podrás
volver a lanzar nuevamente.
El juego inicialmente se lo realizaba solo mediante la maquina es decir esta lanzaba
números aleatorios y se realizaba la apuesta.
Toda esta información se la obtuvo de un video de you tube en el siguiente enlace:
https://www.youtube.com/watch?v=9uJjtp5aeUY
Después se presiona la opción jugar y se lanza el dado de esta forma:
Ahora se propone que el juego va realizar las siguientes funciones:
Se lanza 2 tiros de dados entre el usuario y la maquina el que sume una mayor
cantidad es decir máximo 12 gana.
El que sume una mínima cantidad es decir hasta 2, pierde.
Si se llega a un empate se dará otro turno y así sigue el juego.
Para ello se aumenta la opción usuario y se crea otro código parecido al de la máquina.
La plataforma para lanzar el dado inicialmente se encuentra de la siguiente forma:
Una vez obtenido el primer avance del aumento del otro dado, se desea obtener la
capacidad que el juego obtenga una mejor interfaz, presentando las siguientes opciones.
Lo que se pretende crear es un menú que presente las siguientes opciones antes de
comenzar el juego:
También se pretende aumentar en la parte inferior una ventana en la cual se muestre la
cantidad de dinero que se apostó, lo que gana o pierde el usuario:
Así también para presentar un el juego más completo se aumentará una ventana en la
parte inferior izquierda en la cual se pueda visualizar las monedas de la apuesta:
CONCLUSIÓN
Se puede concluir que al realizar el proyecto se ha obtenido más conocimientos de la
programación orientada a objetos (POO), tomando en cuenta varios temas expuestos en
clase que ha servido de mucha ayuda para realizar el presente juego.
RECOMENDACIONES
Se recomienda obtener toda la información necesaria acerca de los temas
tratados en la programación orientada a objetos (POO), ya sea de informes
escritos como de videos que nos proporcione un mejor entendimiento del tema y
poder realizar paso a paso los avances que se necesiten para realizar dicho juego.
También se recomienda recopilar información de los varios programas que se
pueden utilizar para realizar el video, y elegir uno el cual sea fácil y sencillo
manejar y así poder efectuar un video claro, rápido y preciso sin ninguna
complicación.
Código empleado inicialmente en el juego
Genera número ALEATORIO
package mipaquete;import java.util.Random;public class generanumero {public int valorTirar;public int calculanumero(){Random Generar = new Random();valorTirar = Generar.nextInt(6)+1;return valorTirar;}}
Código PARA GENERAR gif (dado 1)
package mipaquete; import javax.swing.ImageIcon;public class imagenes1 {public ImageIcon icoImagen;public ImageIcon gifDado1(int Dado1){switch (Dado1)
{case 1:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-01.gif");break;case 2:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-02.gif");break;case 3:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-03.gif");break;case 4:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-04.gif");break;case 5:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-05.gif");break;case 6:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-06.gif");break;}return icoImagen;}
Código PARA GENERAR gif (dado 2)
package mipaquete;import javax.swing.ImageIcon;public class imagenes2 {public ImageIcon icoImagen;public ImageIcon gifDado2(int Dado2){switch (Dado2){case 1:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-01.gif");break;case 2:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-02.gif");break;case 3:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-03.gif");break;case 4:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-04.gif");break;case 5:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-05.gif");break;case 6:icoImagen=new ImageIcon("C:\\Users\\Franco\\Desktop\\gifs\\dados-06.gif");break;}return icoImagen;}}
Código PARA GENERAR LAS IMÁGENES
package mipaquete;import javax.swing.ImageIcon;public class ImagenesResul{public ImageIcon icoImagen;public ImageIcon imaen(int vDados){switch (vDados){case 1:icoImagen=new ImageIcon("D:\\Home\\Documents\\alex\\JegosdeDados\\IMAGENES\\1.png");break;case 2:icoImagen=new ImageIcon("D:\\Home\\Documents\\alex\\JegosdeDados\\IMAGENES\\2.png");break;case 3:icoImagen=new ImageIcon("D:\\Home\\Documents\\alex\\JegosdeDados\\IMAGENES\\3.png");break;case 4:icoImagen=new ImageIcon("D:\\Home\\Documents\\alex\\JegosdeDados\\IMAGENES\\4.png");break;case 5:icoImagen=new ImageIcon("D:\\Home\\Documents\\alex\\JegosdeDados\\IMAGENES\\5.png");break;case 6:icoImagen=new ImageIcon("D:\\Home\\Documents\\alex\\JegosdeDados\\IMAGENES\\6.png");break;}return icoImagen;} }
PANTALLA INICIAL
CODIGO PARA EL BOTON INICIAR
private void BOTONINICIARActionPerformed(java.awt.event.ActionEvent evt) {
miframe pantallainicial = new miframe ();
pantallainicial.setVisible(true);
dispose();
}
CODIGO PARA EL BOTON SALIR
private void botondesalirActionPerformed(java.awt.event.ActionEvent evt) {
}
PANTALLA DE LA EJUCUCION DEL JUEGO
CODIGO PARA EL BOTON JUGAR
private void btnJugarActionPerformed(java.awt.event.ActionEvent evt) {
btnJugar.setEnabled(false);
generanumero objDado = new generanumero ();
int dado1 = objDado.calculanumero();
imagenes1 objImag1 = new imagenes1();
bDado1.setIcon(objImag1.gifDado1(dado1));
generanumero objDado2 = new generanumero ();
int dado2 = objDado2.calculanumero();
imagenes2 objImag2 = new imagenes2();
bDado2.setIcon(objImag2.gifDado2(dado2));
}
CODIGO PARA EL BOTON LANZAMIENTOS
private void btnTirar1ActionPerformed(java.awt.event.ActionEvent evt) {
btnTirar1.setEnabled(false);
generanumero objDado = new generanumero ();
ImagenesResul objImag1 = new ImagenesResul();
int num1 = objDado.calculanumero();
bD1.setText(" "+ num1);
bDado1.setIcon(objImag1.imaen(num1));
generanumero objDado2 = new generanumero ();
ImagenesResul objImag2 = new ImagenesResul();
int num2 = objDado2.calculanumero();
bD2.setText(" "+ num2);
bDado2.setIcon(objImag2.imaen(num2));
CODIGO PARA LA COMPARACION ENTRE LAS SUMAS DE LOS DADOS
private void comparacion(int resul, int resul2)
{
if (resul==resul2)
{
JOptionPane.showMessageDialog(null, "El jugador 1 y 2 quedaron empates " + resul);
}
else if(resul> resul2)
{
JOptionPane.showMessageDialog(null, "El jugador 1 ganó con " + resul);
}
Else
{
JOptionPane.showMessageDialog(null, "El jugador 2 ganó con " + resul2);
}
int resul = num1 + num2;
labelsumadedados.setText("LA SUMA DE LOS DADOS ES : " + resul);
JOptionPane.showMessageDialog(null,"LA SUMA DEL JUGADOR 1 ES " + resul);
int num3 = objDado.calculanumero();
bD1.setText(" "+ num3);
bDado1.setIcon(objImag1.imaen(num3));
int num4 = objDado2.calculanumero();
bD2.setText(" "+ num4);
bDado2.setIcon(objImag2.imaen(num4));
int resul2 = num3 + num4;
labelsumadedados.setText("LA SUMA DE LOS DADOS ES : " + resul2);
JOptionPane.showMessageDialog(null,"LA SUMA DEL JUGADOR 2 ES " + resul2);
comparacion (resul,resul2);
OPCIONES
CODIGO PARA LA OPCION JUGAR
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
btnJugar.setEnabled(true);
btnTirar1.setEnabled(true);
}
CODIGO PARA LA OPCION SALIR
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
CODIGO PARA LA OPCION CREADORES
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {