Juego Hundir la Flota Con JAVA

Iniciado por izel, 6 Diciembre 2010, 15:51 PM

0 Miembros y 1 Visitante están viendo este tema.

izel

Hola gente! Me presento ante todo, ya que soy nuevo por aquí. Me llamo Alberto, soy de Valencia y soy estudiante de Ingeniería Informática. Os comento mi caso.
Vereís, tengo que hacer para Enero el famoso juego de hundir la flota, en Java. El tema de la interfaz gráfica lo tengo dominado, de hecho ya està hecho xD. El tema de las comunicaciones entre ordenadores no lo tengo aún, pero mediante RMI no se ve muy complicado. El problema viene en que tengo que hacer que el juego implemente algun tipo de concurrencia. Se me ocurren 3 alternativas con su consiguiente problema, a ver si podeis aconsejarme sobre alguna de ellas o darme un poco de luz.

1. Juego mediante el cual, yo arranco el juego, tu lo arrancas, i jugamos yo contra ti, de forma que los 2 somos de cierta manera cliente i servidor. El problema es que aqui no veo para que serviria la concurrencia.

2. Hacerlo mediante un servlet, es decir, colgar el juego y que la gente se conecte online y juegen entre si. Problema: hasta el profesor dijo que eso es muy complicado xD

3. Una persona tiene el programa servidor, los demas cliente, de forma que conforme se van conectando todos a ese servidor (todos juegan contra la misma persona) se van creando los hilos, uno por cada jugador nuevo. Problema: esta alternativa no me la creo ni yo, la veo super irreal xD

Eso, a ver si alguien me puede hechar una mano... graciassssssss!

Dnk!

Segun pienso yo, lo mas facil, seria crear un servidor, el cual escucha peticiones de juego. Por lo que cada vez que se abra un cliente, conecte al servidor y este mande una peticion al servidor para jugar una partida. Entoces el servidor se encarga de administrar las peticiones, por ejemplo con hilos. Entoces la comunicacion entre un cliente y un cliente serai esta:

Cliente manda informacion al servidor, y este le devuelve la informacion al otro cliente. Es decir.

Cliente1 -> peticion de jugar -> servidor.
Cliente2 -> peticion de jugar -> servidor.
Servidor - > Comienzo de juego -> Cliente1,Cliente2.
Cliente1 -> .... -> servidor -> .... Cliente2 y viceversa.

Tambien decir que se podria asi una misma maquina ejecutar ambas aplicaciones (Cliente - Servidor)

Espero haberme explicado algo decente  :P




Comentar es agradecer.
Visita Mi Blob

izel

 Entonces creo que nos plantamos en la opción 2, la jodida xD. Voy a ver si veo por donde entrarle... Gracias por responder!  ;D

kondrag_X1

hola yo pienso que lo qe mas te interesa es la tercera opcion , es decir ,hacer un servidor sencillito el cual solo asocie jugadores y pase mensajes de uno a otro .

luego cada cliente que conecte es el qe trabajaria con la informacion que le llega.

izel

Tu crees? La verdad que como tu lo comentas esta bien, porque la parte del servidor si es simplemente de asociar clientes será sencilla, i los programas cliente serían todos iguales...tiene buena pinta! Ahora a ver si encuentro algun buen manual de JSP...
Gracias!