IIC2233 / Syllabus-2022-2

Repositorio oficial del curso IIC2233 Programación Avanzada 🚀✨

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Solo existe una sala de espera?

3rdPix opened this issue · comments

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

  • Leí las reglas del foro (https://github.com/IIC2233/syllabus/issues/1).
  • Busqué en las issues si ya preguntaron mi duda y no encontré nada parecido (https://github.com/IIC2233/syllabus/issues/).
  • Revisé el compilado de dudas de la tarea y no encontré una issue similar a la mía (IIC2233/Syllabus#326).
  • Mi duda no se trata sobre una librería, built-in o mala práctica, ya que eso se pregunta en la issue creada para ello (IIC2233/Syllabus#325).
  • Mi duda no se trata de un tema administrativo o personal, ya que en ese caso debo contactar a mi profe, al Jefe de Bienestar o al correo del curso (iic2233@ing.puc.cl).
  • Utilizaré un título descriptivo y llenaré correctamente esta plantilla.
  • De ser necesario, colocaré código simple que permita explicar mi problema o duda, ya que compartir código de esta evaluación puede ser considerado una falta a la ética.

Duda

Tal como dice el título... la existencia de la sala de espera, en el servidor, es única? es decir, si un tercer jugador intenta entrar a un nuevo juego justo cuando hay otros dos esperando en la sala. No podrá entrar? no es posible crear una nueva sala de espera que solo contenga al nuevo jugador, donde él podrá esperar por un 4to jugador?

Hola ✨

En el punto 2.2 del enunciado se explica bien cómo funciona la ventana de espera. Tal como dices, la sala de espera debería ser única y si algún tercer jugador intenta ingresar, este no podrá hacerlo. La única excepción es que se llegara a liberar algún cupo en la sala.

Si tienes cualquier otra duda, puedes volver a preguntar sin problemas 🍃.

Hola, en relación a esto tengo la duda de si es que la "sala de juego" también es única. En el enunciado dice "en el caso de que un jugador quisiera entrar a la Ventana de espera, pero esta se encuentre llena o ya haya iniciado el juego, se le avisará en la misma Ventana de inicio el evento correspondiente, y no se podrá entrar a la Ventana de espera". Entonces, si es que hay dos jugadores jugando pero la ventana de espera ya no tiene a nadie, un tercer usuario podría entrar a la sala y esperar a a un posible cuarto para comenzar una partida? o el juego también ocurre de dos usuarios a la vez, imposibilitando múltiples juegos.

Hola ✨

Sí. La sala de juego también debe ser única. Es decir, si hay dos jugadores en juego, tampoco se debe dejar ingresar a un tercero a la sala de espera.

Espero que ahora haya quedado todo claro, ¡éxito! 🎈

Podría crear la opción para habilitar múltiples partidas a la vez? Es decir, que la sala de espera siga siendo una sola, pero una vez que esta se desocupe y un par de jugadores inicien una partida, no haya ningún problema para que otros dos nuevos jugadores entren en la sala de espera e inicien su propio juego independiente del anterior? Se siente mucho más natural de esa manera, en un juego... no debería depender de la cantidad de gente jugando, el que pueda o no iniciar una partida. Esta opción la podría habilitar a través de un bool en el servidor para que se vea que cumple tanto con el formato que se menciona, como con la posibilidad de múltiples partidas.

Por simplicidad la idea es solo dejar una sala de juego 👀. Pero en el caso que quieras implementar más de una, podrías hacerlo dejando un parámetro booleano que sea false para la existencia de una sala única y true para el caso en que existan múltiples salas. Además, deberías dejar esto explicado en tu README.

¡Éxito! ✨