Find Jobs
Hire Freelancers

Ludo multiplayer c socket program

€30-40 EUR

In Progress
Posted over 6 years ago

€30-40 EUR

Paid on delivery
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.
Project ID: 15808374

About the project

1 proposal
Remote project
Active 6 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
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 in 2 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of HUNGARY
Szeged, Hungary
0.0
0
Payment method verified
Member since Jan 4, 2017

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759) & Freelancer Online India Private Limited (CIN U93000HR2011FTC043854)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.