entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Crear Lobby - Sala de Espera

Buen día a todos y desde ya muchas gracias a los que respondan.

Resulta que estoy haciendo una web en PHP - HTML y MYSQL donde la gente pueda registrarse y reservar chanchas de Fútbol 5. Ya tengo todo mas o menos armado y casi funcionando. Pero me surgió la idea de crear un Lobby. Les digo un ej:

Tu (usuario) tienes 3 amigos mas.. -les faltarían 6 para formar un partido-, entras a "Buscar Partido" que busque el resto de la gente q este buscando partida, reúna las 10 personas.. les salte una notificación.

Se que es sumamente complicado y no pido que me pasen todo hecho. Solamente pido su ayuda para orientarme ya que recién me estoy adentrando en la programación. Algún ejemplo parecido o algo.

En serio gracias :)

3votos

carlossevi comentado

Permíteme hacer un poco de cachondeo:


Estoy construyendo un coche de madera donde uno puede subirse y dar pedales para avanzar. He reaprovechado parte del mecanismo de una bicicleta y ya casi lo tengo armado y funcionando. Pero me surgió la idea de hacer algo más cómodo. Por ejemplo:

Podría ponerle un motor térmico de combustión y así el usuario no tendría que dar pedales, aunque tendré que cambiar el material ya que la madera podría quemarse, quizá una combinación de aluminio y fibra de carbono.

También quiero que el usuario no deba estar todo el rato atento, que el coche tenga algún sistema de ayuda, algo como un piloto automático que muestre notificaciones con los eventos más importantes y pueda mantener la dirección.

Sé que es sumamente complicado y no pido que me pasen todo hecho. Solamente pido su ayuda para orientarme ya que recién me estoy adentrando en la construcción de coches.


Lo que pides no solo es complejo sino que hay tantas formas de desarrollarlo como programadores.

1voto

bl4z3r comentado

¿No es la típica sala multiplayer de los juegos en línea? El acercamiento más común es crear una partida y esperar a que todos se unan. Una vez que todos se unen, ahi podrias mandar tu notificación.

1voto

ankeorum comentado

@carlossevi aluminio y fibra de carbono? xD

@jarregui92 a mi se me ocurre un campo en la base de datos donde marques si el jugador está en espera de completar equipo o no y cuando juntes a 10 con ese requisito pues mandes una notificación o algo. Como dice @carlossevi hay tantas soluciones como programadores...

1voto

cobasESP comentado

Yo te recomendaría usar nodeJS, con la librería socket.io, para programar todo eso en tiempo real, aun así. si no conoces node o no quieres implementarlo, existen librerías para hacer sockets con php y poder hacer una web con php en tiempo real, seria la forma mas fácil y practica de hacer lo que buscas.

1 Respuesta

1voto

cobasESP Puntos19650

Yo esto con Node js, lo haría relativamente fácil. No sé si estarás familiarizado con node pero... aqui va mi idea.

En node cargaría el modulo socket.io (para hacer la app en tiempo real), lanzo el servidor y existiría un array de partidas y un array de usuario. Cuando alguien se conecta se le mete en el array de usuarios, y si ese usuario le da a jugar o unirse a partida se busca en el array de partidas, una partida en la que haya algun hueco, de ser así, el usuario sería introducido en ese array y se leerían los datos de la partida para cargarla.

Si no existe ninguna partida con hucos libres, se crearía un array nuevo llamado partidanueva, con unos datos de partida estandar y se añadiría a ese jugador al array y se le llevaría a una sala de espera, ese array de partida se agregaria al array de partidas globales para que otros jugadores puedan entrar en el, al estar la partida completa les aparecería un boton de "estoy listo" para empezar y la partida.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta