Informe final juego de dados

24
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:

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:

Al presionar la opción tirar se detiene 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:

A la forma que se desea llegar es la siguiente:

Cuando tira el dado nos mostrara así:

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) {

JOptionPane.showMessageDialog(null, " Lisseth Abrajan "

+ " Alex Gomez "

+ " Francisco Haro"

+ " Leandro Ramirez");

}