1 / 27

Caso: Juego Dados

Caso: Juego Dados. Definición del Problema. El problema que queremos resolver es representar computacionalmente el Juego de Dados. Requerimientos Funcionales. Se requiere de un SISTEMA que permita la creación del JUEGO DE DADOS que simule el lanzamiento real de dos DADOS.

ghazi
Download Presentation

Caso: Juego Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Caso: Juego Dados

  2. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Definición del Problema • El problema que queremos resolver es representar computacionalmente el Juego de Dados.

  3. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Requerimientos Funcionales • Se requiere de un SISTEMA que permita la creación del JUEGO DE DADOS que simule el lanzamiento real de dos DADOS. • Este JUEGO es jugado sólo por un JUGADOR. • Los DADOS son lanzados en forma secuencial, uno primero y luego el otro. • Los DADOS al ser lanzados pueden entregar un NÚMERO RESULTANTE entre 1 y 6 para cada uno de ellos. • El JUEGO se inicia con el JUGADOR cuando tira el PRIMER DADO y termina después de haber lanzado el SEGUNDO DADO • Debe entregar al USUARIO indicación de cuándo se inicia el JUEGO y cuando termina, como también debe indicar el VALOR resultante de tirar cada uno de los DADOS.

  4. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama del Dominio del Problema

  5. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Otro Diagrama del Dominio del Problema

  6. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Casos de Uso

  7. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Caso de Uso1: Jugar Juego de DadosPrimary Actor: JugadorCaso de Éxito o Flujo Normal de Operación

  8. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Clases Candidatas • JUEGO DE DADOS • JUEGO • JUGADOR • SISTEMA • DADO • DADOS • PRIMER DADO • SEGUNDO DADO • LANZAMIENTO • PRIMER LANZAMIENTO • SEGUNDO LANZAMIENTO

  9. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Clases Candidatas Corresponde a las acciones • JUEGO DE DADOS • JUEGO • JUGADOR • SISTEMA • DADO • DADOS • PRIMER DADO • SEGUNDO DADO • LANZAMIENTO • PRIMER LANZAMIENTO • SEGUNDO LANZAMIENTO Es lo mismo y Es una clase Son los Actores Corresponde una clase y dos instancias

  10. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Secuencia de Sistema • Entonces como Actores del Diagrama de Secuencia del Sistema tenemos a: • Jugador • Sistema • Este diagrama nos da el contexto de lo que tenemos que representar y además nos entrega la interacción del Actor con el Sistema.

  11. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Secuencia de Sistema

  12. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Secuencia • Ahora debemos construir el Diagrama de Secuencia, al disponer de mayor información con las Clases Candidatas, que finalmente tenemos: • Juego • Dado

  13. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Secuencia Ambos pertenecen a la misma Clase Dado I N T E R F A Z Juego Dado 1 Dado 2 jugar() “Inicia el Juego...” “valor dado 1: N1” “valor dado 2: N2” “...Termina el Juego” N1 Y N2 son los valores de v1 y v2

  14. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Caso de Uso1: Jugar Juego de DadosPrimary Actor: JugadorCaso de Éxito o Flujo Normal de Operación Tirar es una acción sobre el Dado

  15. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Caso de Uso1: Jugar Juego de DadosPrimary Actor: JugadorCaso de Éxito o Flujo Normal de Operación Para mostrar el valor debemos obtenerlo

  16. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Caso de Uso1: Jugar Juego de DadosPrimary Actor: JugadorCaso de Éxito o Flujo Normal de Operación Y este es el mensaje que debemos mostrar

  17. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Secuencia I N T E R F A Z jugar() “Inicia el Juego...” tirar() Dado 1 v1 = obtenerValor() “valor dado 1: N1” v1 es la variable que recibe el valor del lanzamiento del Dado 1. Lo mismo sucede con el Dado 2 “valor dado 2: N2” “...Termina el Juego” N1 Y N2 son los valores de v1 y v2

  18. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Secuencia El que realiza estas llamadas es la Clase Juego I N T E R F A Z jugar() “Inicia el Juego...” tirar() Dado 1 “valor dado 1: N1” v1 = obtenerValor() v1 es la variable que recibe el valor del lanzamiento del Dado 1. Lo mismo sucede con el Dado 2 “valor dado 2: N2” “...Termina el Juego” N1 Y N2 son los valores de v1 y v2

  19. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Secuencia I N T E R F A Z Juego Dado 1 jugar() “Inicia el Juego...” tirar() “valor dado 1: N1” v1 = obtenerValor() v1 es una variable de trabajo de la Clase Juego, y tirar() y obtenerValor() son métodos de la Clase Dado “valor dado 2: N2” “...Termina el Juego” N1 Y N2 son los valores de v1 y v2

  20. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Secuencia I N T E R F A Z “Inicia el Juego...” “valor dado 1: N1” “valor dado 2: N2” “...Termina el Juego” N1 Y N2 son los valores de v1 y v2 La INTERFAZ en este caso es la CONSOLA

  21. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Clases Juego Dado valor jugar() tirar() obtenerValor() Lo primero es que el Juego incluye dos Da dos Lo segundo es que los dos Dados pertenecen a un solo Juego

  22. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Diagrama de Clases

  23. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Y, ahora debemos implementarlo • Esto significa que debemos crear un proyecto Java que contenga las dos clases y que nos permita ejecutar lo anterior:

  24. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS El Código Ambos Clases las dejamos en el mismo paquete

  25. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Clase Dado public class Dado { // declaración de atributos de la clase private int valor; // constructor de la clase Dado public Dado () { valor = 0; } // método para obtener el valor tirado public int obtenerValor() { return valor; } // método para tirar el dado public void tirar() { valor = (int) ((Math.random() * 6)+1); if (valor < 1) valor = 1; else if (valor > 6) valor =6; } } 25

  26. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Clase Juego public class Juego { // objetos a ser utilizados private static Dado d1 = new Dado(); private static Dado d2 = new Dado(); // método de partida del programa public static void main(String[] args) { jugar(); } // método para tirar los dados public static void jugar () { //valores para los dos tiros int v1=0; int v2=0; System.out.println("Inicia el Juego..."); // primer tiro d1.tirar(); v1 = d1.obtenerValor(); System.out.println("valor dado 1: " + v1); // segundo tiro d2.tirar(); v2 = d2.obtenerValor(); System.out.println("valor dado 2: " + v2); System.out.println("...Termina el Juego"); } } 26

  27. IN77J, ORIENTACIÓN A OBJETOS PARA E-BUSINESS Ejecución Inicia el Juego... valor dado 1: 4 valor dado 2: 2 ...Termina el Juego Esta es la salida en la Consola 27

More Related