Find Jobs
Hire Freelancers

Ludo multiplayer c socket program

€30-40 EUR

En curso
Publicado hace más de 6 años

€30-40 EUR

Pagado a la entrega
Quick summary: Console application (no gui!) written in C programming language one server, one client application. So files: server.c and client.c are expected in separate source and output files. Classic ludo game with 2 human players on the same computer, each player runs a client of the game and there is a server (running on localhost) that handles the communication and gameplay rules. Game rules: The players have 2-2 distinguishable dolls. The players roll the dice in turns. If the player steps on a field that's already taken by a doll, then the doll already there returns to field #1 (knock out - doesn't matter whose doll it is) and the former doll takes it's place. After field #49 knocking out the dolls is not possible. The goal of the game is to pass through field #49 with both of the dolls - the player who accomplishes this first is the winner. How the program should work: - Server application starts and waits for the TWO clients to join. - When the 1st client starts the application they should receive a mesage that we're waiting for the 2nd player. - When the 2nd client joins, the game automatically starts. - The dice is represented by the server, it generates random numbers from 1-6 and it sends the values for the appropriate client - After the client receives their number, the client sends to the server which doll with they want to move (that's why the dolls need to be distinguishable). - The server's job is to update the game board, detect and handle specific scenarios (moving with a doll, knocking out a doll, winning, losing). The game board is stored on the server. What is expected regarding the gameplay mechanics. The program should acknowledge knock out scenarios, winners and losers. Clients can give up and stop the current match by sending a message (I give up) and inform the other client about this - this way the game ends, but the applications doesn't close just yet. If the game ends either because someone wins, or someone gave up the server should allow the players to: - play another match (by sending a message: restart) - or stop the game (by sending a message: stop) If "restart" is chosen a new match starts again. If "stop" is chosen all 3 applications (server, client, client) closes.
ID del proyecto: 15808374

Información sobre el proyecto

1 propuesta
Proyecto remoto
Activo hace 6 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
Would like to proceed on such an interesting project, should be fun, its been long time i've never coded such things, looks like a university task :P Relevant Skills and Experience C/C++ programming skills enough for development of a console/networking tool. Havig some skills in coding and reverse engineering of simple games too, so that will be quite simple. Proposed Milestones €20 EUR - Development of a project-related networking samples and data exchange concepts €10 EUR - Development of a game mechanics "engine" :P €10 EUR - Deploying a simple console interface, building a complete program Additional Services Offered €5 EUR - Handling both TCP and UDP protocols data transfer by option €5 EUR - Options for a game mechanics, interface customization options €5 EUR - Simple sounds (OpenAL/Wave)
€40 EUR en 2 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de HUNGARY
Szeged, Hungary
0,0
0
Forma de pago verificada
Miembro desde ene 4, 2017

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.