Simulación de completado del album de figuritas mundial 2022 en JAVA. Proyecto realizado por Luciano Agustín Inama y Matias Avila para la materia Programacion III de la Universidad Nacional General Sarmiento.
- Modelo
- Interfaces
- Vista
- Test
- Utilidades
- Album
- Persona
- FabricaDeSimulaciones
- PaqueteFiguritasNormal
- SimulacionUnaPersona
- SimulacionVariasPersonasRegalo
- SimulacionVariasPersonasIntercambio
- SistemaDeSimulacion
- Generador
- Observador
- Simulacion
- InterfazSimuladorAlbum
- PersonaTest
- AlbumTest
- SimulacionUnaPersona
- SimulacionVariasPersonasRegaloTest
- SimulacionVariasPersonasIntercambioTest
- GeneradorRandom
- ObservadorPorConsola
- GeneradorPrefijado
Contiene los nextInt y nextIntCExclusion, ambos utilizados para crear generadores.
Contiene el metodo notificar, el cual se utiliza en los observadores para generar salidas en consola.
Esta interfaz contiene todos los metodos que son utilizados en todas las simulaciones para el proceso de simulación.
Encargada de las responsabilidades de una persona en la simulación. Las cuales son:
- Rellenar su propio album.
- Poder regalar figuritas si asi se lo requieren.
- Poder intercambiar figuritas si asi se lo requieren. (Primeramente sin ninguna condicion particular todas las figuritas valen otra)
Encargada de representar la entidad album de la simulacion. Su tarea es clara, representar un album de figuritas. Rellenarse, controlar figuritas repetidas, e indicar cuando ya tenga todas las figuritas pegadas.
Encargada de fabricar cualquier tipo de simulacion solicitado.
Encargada de generar los paquetes de figuritas para completar el album, sin ninguna condición especial. Todas las figuritas tienen la misma posibilidad de salir, la elección de figuritas para el paquete es aleatoria.
Encargada de realizar la simulacion de completado de album de una sola persona. Responsable de dar la cantidad total de gasto de la persona para completar el album.
Encargada de realizar la simulación de completado de album entre n personas donde si alguna tiene una figurita que otro necesita, se la regala sin pedir nada a cambio. Responsable tambien de dar la cantidad total de gasto de las personas para completar los n participantes cada uno su album.
Encargada de realizar la simulación de completado de album entre n personas donde se realizan intercambios de 1 a 1 figurita solo con la condición que las figuritas intercambiadas no las posean las personas que realizan el intercambio. Responsable además de dar la cantidad total de gasto de las personas para completar los n participantes cada uno su album.
Encargada de crear un generador de numeros, el cual funciona con un rango especificado al momento de crearlo. Es utilizado en las clases de Test.
Esta clase crea un generador de tipo Random, el cual contiene un metodo especial que genera numeros aleatorios y excluye uno pasado por parametro.
Clase encargada de crear los observadores que utilizan los datos de la simulación y los muestran por consola.
La clase encargada de manejar todo el codigo que maneja la interfaz (Codigo usuario). La misma le permite al usuario seleccionar el tipo de simulacion que quiere, especificar parametros como cantidad de personas, cantidad de figuritas, precio, étc, para luego generar la simulacion y mostrar el resultado de la misma en pantalla.