Está en la página 1de 5

UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TÁCHIRA

VICERRECTORADO ACADÉMICO
DECANATO DE DOCENCIA
DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
COMUNICACIONES I

Integrantes:
Sayago, Jimer
Molina, Yined
Casanova, Raúl
Grupo # 10
Prof. Nixon Patiño

San Cristóbal, 22 de febrero de 2023.


1. Referente al juego
a. ¿Cómo se jugará el Bingo?

Para jugar el Bingo, se tomará en cuenta los siguientes pasos:

➢ Al momento de comenzar la partida, se le pedirá al usuario (jugador) que


ingrese su nombre y así guardarlo. Luego de eso, se le asignará un cartón aleatorio
al jugador sin que este esté repetido, el cual no será cambiado durante la partida,
solo cuando esta finalice y se dé comienzo a una nueva

➢ Para que el juego se lleve a cabo, es necesario tener al menos DOS


jugadores, donde se habilitará el sistema para iniciar el juego. Este sistema será
habilitado por el Host o director del Juego. Por ende, cuando se inicie el mismo, se
generarán los números del bingo de manera aleatoria sin repetirse cada 5 segundos
hasta que finalice la partida.

➢ El jugador podrá marcar las casillas de su cartón a medida que salgan las
fichas disponibles en él. Después de ello, cuando logre marcar todas las casillas de
forma vertical (columna) u horizontal (fila), podrá cantar “Bingo” a través de un
mensaje o de un botón disponible para ello.

b. ¿Cuáles son las reglas del juego?

➢ El juego será habilitado con mínimo dos jugadores.


➢ Un jugador no podrá ingresar a la partida si esta se encuentra en desarrollo.
➢ Si durante la partida casi la totalidad de los jugadores se desconectan
quedando un solo jugador, este se declarará ganador del juego y se le dará fin a la
partida.
➢ El jugador solo podrá marcar casillas que hayan sido nombradas. Para este
caso, las combinaciones letra y número se establecen de la siguiente manera:

✓ Para la columna de la letra B, los números a marcar en el cartón deben ser


entre el 1 y el 15 (ambos inclusive) sin repetirse.

✓ Para la columna de la letra I, los números a marcar en el cartón deben ser


entre el 16 y el 30 (ambos inclusive) sin repetirse.

✓ Para la columna de la letra N, los números a marcar en el cartón deben ser


entre el 31 y el 45 (ambos inclusive) sin repetirse.

✓ Para la columna de la letra G, los números a marcar en el cartón deben ser


entre el 46 y el 60 (ambos inclusive) sin repetirse.
✓ Para la columna de la letra O, los números a marcar en el cartón deben ser
entre el 61 y el 75 (ambos inclusive) sin repetirse.

➢ Cuando todas las casillas del jugador estén marcadas, se habilitará el botón
de “Bingo” en el que se enviará un mensaje al Host o director del juego que revisará
si es correcto el canto o no del jugador. De ser correcto, declara al ganador y da por
finalizada la partida.

c. ¿Cómo se ganará el juego?

Este se ganará:

➢ Cuando uno de los jugadores llene el cartón y presione el botón “Bingo” y se


confirme si es correcto el canto del jugador.

➢ Cuando en la partida solo queda un jugador conectado, este se declarará


ganador del juego por default y se le dará fin a la partida.

2. Referente a la comunicación

a. ¿Qué tipo de mensaje enviará cada jugador?

Los jugadores serán clientes que se conectarán a un servidor, y jugarán con


un cartón aleatorio, además se comunicarán con el servidor para obtener el número
y comunicar cuando el jugador marque una casilla. Para el juego habrá dos tipos de
jugadores: un Host o director del juego y n jugadores y cada tipo de jugador
enviará los siguientes mensajes:

● Host: Este enviará un mensaje a cada jugador conectado para indicarle


que debe generar un cartón nuevo. Luego de ello, se enviará un mensaje a cada
jugador conectado para indicar si dicho cartón generado es válido o no (para ello,
se comprueba si su cartón está repetido o no). Después, se le enviará un mensaje
a cada jugador para indicar el inicio de la partida.

De igual forma, cuando se destape o revele una casilla, se enviará un


mensaje a cada jugador con el fin de mostrar que se ha revelado una casilla y qué
casilla ha sido revelada. Y al final, cuando el juego ha terminado, se enviará un
mensaje a cada jugador para indicar que alguien ha ganado la partida y se ha
finalizado el juego.

● Jugador: Este enviará un mensaje al director o host para notificar que se


ha incorporado a la partida. Luego de ello, se le enviará un mensaje al host para
mostrarle el cartón generado.
De igual forma, se enviará un mensaje al director o host para notificarle que
casilla se ha marcado o revelado. Y al final se enviará un mensaje al host para
notificar que ha ganado la partida.

Cabe destacar que cada 5 segundos se enviará un mensaje a todos los


clientes indicando un nuevo número a marcar. El servidor también recibirá si algún
cliente marcó una casilla, validará que ese número haya sido nombrado por el
servidor, y responderá exitosamente.

En el caso del director o host encargado de la partida, su mensaje serían la


información de la última jugada con su tablero y los números que han coincidido
además de un valor “bingo” que indicaría si algún cliente ha ganado el juego

b. ¿Qué formato estará presente en dichos mensajes?

Se podría llevar a cabo los siguientes mensajes:

Mensaje del Jugador:

{
“name_user”: “”,
“ID_user”: “”,
“bingoCards_numbersMarket”: {
“B”: [3,12,14,6,9],
“I”: [19,26,21,30,16],
“N”: [34,44,38,40,36],
“G”: [46,50,53,48,58],
“O”: [66,75,71,62,69]
},
}

Mensaje del Host:

{
“numBingoCardsOutput”: {
“B”: [5,13,11,7,8],
“I”: [19,X,21,30,X],
“N”: [35,45,39,41,36],
“G”: [47,X,54,48,59],
“O”: [66,74,70,61,X]
},
}
c. ¿Cómo se tendrá conocimiento sobre si el jugador aún está en línea?

Para ello, se puede implementar el uso de un websocket, ya que con este se


podría saber si una persona se mantiene conectada o no al juego, permitiendo así
una comunicación constante con el mismo por medio de una instancia en su módulo
de manejo, garantizando la obtención de respuestas desde el servidor en tiempo
real, en el cual se obtendrá un mensaje de cada usuario que mostrará si está
conectado o no, por lo que se emitirá una señal indicando que ya no está conectado.
Esta implementación podría ayudar a validar si se puede continuar la partida o la
misma se detiene. Y esta se podría acabar en caso de pérdida de conexión por
cualquier motivo

d. ¿Cómo se indicará quién ganó?

Un jugador le enviará un mensaje al host o director para determinar que ha


llenado una línea en su cartón y, por tanto, ha ganado la partida, por lo que, el host
detendrá el juego, chequeará su cartón y luego de confirmar su victoria, enviará un
mensaje a cada jugador indicando el nombre del ganador del juego.

También podría gustarte