Skip to content

Ado-do/Proyecto-Progra2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PROYECTO PROGRAMACIÓN II (S2 2022)

Logo

"Mesa de Pool en Java"

Tabla de contenidos
  1. Sobre el proyecto
  2. Objetivos
  3. Informe
  4. Links útiles

Sobre el proyecto

Equipo (Grupo 22)

  • Alonso Bustos (Ado-do)
  • Cristóbal Figueroa (xKroZzar)
  • Lirayen Martinez (liraa001)

Fechas Importantes

  • Entrega Github Proyecto (07/12) -> Entrega 12/12
  • Entrega final (21/12)

(volver a inicio)

Objetivos

Principales

  • Terminar diseño final

    • Primera versión del diseño (Prototipo de interfaz)
    • Subir imagen de la interfaz prototipo
    • Terminar diseño final de GUI
  • Terminar informe

    • Enunciado general del tema, junto a propuestas del equipo
    • "Use Case Diagram" con funciones principales de la aplicación/juego
    • UML del contenido gráfico (GUI)
    • "TO-DO List" de cosas que no sabes hacer, y nuestro avance respecto a ellas
    • Agregar JavaDoc
    • Agregar UnitTests

TO-DO List

  • Realizar interfaz de taco e input *Solucionado utilizando package "geométricas"

    • Mover punto respecto a un punto central según movimiento del mouse
    • Dibujar respecto a este input
  • Simular físicas *Solucionado agregando clase Vector2D

    • Lanzamiento de pelota y controlar fuerza de este
    • Rebote y colisiones (Bola->Banda y Bola->Bola)
    • Inercia
  • Generación de bolas *Solucionado agregando "BallsFactory" y "MenuWindow"

    • Generación en posiciones aleatorias
    • Controlar cantidad generada por medio de GUI
  • Sistema de puntaje

    • Lógica de troneras
    • Asignar puntaje según tipo de bola insertada en tronera
  • Reiniciar por medio de GUI

  • Nuevas Funcionalidades

    • Multijugador

(volver a inicio)

Informe

Enunciado

En el panel central, con vista aérea, deben aparecer bolas en posiciones randómicas, una blanca y otras de color. El taco debe aparecer automáticamente apuntando a la bola blanca y debe ser manejado con controles GUI (teclado y mouse), para golpear bola blanca. Las bolas deben tener la física de impactos, inercia y roce. En las esquinas debe haber troneras donde pueden caer. La cantidad de bolas debe ser definible por interfaz GUI. Habrá bandas para rebote de las bolas y si caen en las troneras, otorgan puntos. Reiniciar se debe hacer por controles GUI. Si se cae la bola de color y la blanca no hay puntaje, si cae la blanca se resta puntaje.

Diagrama UML

UML

Diagrama de casos de usos

CASOS

Decisiones tomadas como equipo

  • Crear una clase llamada Vector2D, que nos permite simular procesos físicos en nuestro programa que nos faciliten la tarea de crear colisiones, movimiento, etc.
  • Crear una clase llamada MenuWindow, que nos permite crear una ventana con un menú para poder elegir la cantidad de jugadores, modo de juego, y la cantidad de bolas que queremos en el juego.
  • Crear una clase llamada BallsFactory, que nos permite crear un arreglo de bolas ordenadas de manera aleatoria o estándar, esto nos facilita la tarea de poder cambiar la cantidad de bolas que queremos en el juego sin tener que modificar el código fuente.

Problemas que tuvimos como equipo y autocrítica

El mayor problema que tuvimos como equipo fue la organización y como repartir equitativamente las tareas, ya que esto perjudicaba y hacia que uno llevara la carga de los demás, ahora tenemos nuevos métodos para poder enfrentarnos a esta clase de problema.

(volver a inicio)

Links útiles

Aquí pondremos links útiles para el proyecto, ya sean videos, documentación de java o ideas para programar el Pool :)

Docs

Videos

Sobre github

(volver a inicio)

About

Proyecto Semestral de Programación 2 (2022-2)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages