Batalla naval (Cliente - servidor) en C bajo linux

Closed Posted Nov 15, 2012 Paid on delivery
Closed Paid on delivery

Características:

Hay 2 binarios: binario servidor, binario jugadores

La transmisión de información entre el servidor y los jugadores se realiza por TCP(sockets)

Jugadores solo pueden ingresar a la sala si el servidor está corriendo

Máximo 2 jugadores por partida

Puede haber N partidas al mismo tiempo

Comunicación entre jugadores siempre se realiza a través del servidor.

Servidor:

Tendrá un listado de clientes conectados y conoce qué cliente juega con quién

Tendrá un Thread por cada cliente. Utiliza ese thread para atender los mensajes del jugador.

Jugador:

Tendrá un Thread para atender los mensajes que le lleguen del servidor. Y otro para recibir información por consola

Tendrá en memoria una matriz de 10 x 10 caracteres donde guardará el tablero de mis barcos y otra de 10 x 10 con el tablero de las bombas que tiré.

Recibe por argumento el nombre del jugador y ubicación de los barcos. Ej: ./jugador A 01 02 03 10 30

argv[1] = nombre del jugador

argv[2] = ubicación de un barco

argv[2][0] = ubicación de un barco en x

argv[2][1] = ubicación de un barco en y

Pasos de ejecución:

Inicia el server

Iniciamos un jugador pasandole por argumento nombre de jugador.

Servidor le envia al jugador el listado de jugadores que estan disponibles en la sala(que no iniciaron un juego)

Jugador deberá ingresar por consola el nombre del contrincante

Servidor debe avisarle al jugador 2 que el jugador 1 desea iniciar un juego

Cuando se crea la sesión de juego, el servidor le da la orden a 1 jugador de comenzar el juego. Esto indica que el jugador debe escribir 2 números indicando la posición x e y que desea atacar.

El proceso del jugador deberá enviar esa información al servidor. Quien se la pasa al otro jugador.

Jugador destino deberá fijarse si en esa coordenada hay o no un barco. Si hay barco responde un hundido, caso contrario agua. El mensaje llega al jugador que inició la partida

Servidor le pide al otro jugador que juege

Si soy jugador y le dieron a todos mis barcos. Respondo Fin

C++ Programming Fortran Microcontroller

Project ID: #12346378

About the project

Remote project Active Dec 30, 2012