合肥生活安徽新闻合肥交通合肥房产生活服务合肥教育合肥招聘合肥旅游文化艺术合肥美食合肥地图合肥社保合肥医院企业服务合肥法律

CAN201代做、python语言程序代写
CAN201代做、python语言程序代写

时间:2024-10-27  来源:合肥网hfw.cc  作者:hfw.cc 我要纠错



CAN201 In Class Test 1 Thursday Session 2
Multiplayer Number Guessing Game (UDP Sockets)
Objective
This in class test is required to use Python for socket programming. You will create a multiplayer “number guessing” game using UDP sockets programming, with one server and multiple clients (two clients for testing).
Task Description
You need to implement two simple programs: a server and a client. The server manages the game logic, while the clients communicate with the server to participate in the game.
Game Rules:
Server Behavior
1. Initialization: The server listens/waits on a specified IP and port.
2. Client Connection:
o When a client connects, the server asks for the client’s name.
o After receiving the name, the client is marked as "ready". 3. Game Start:
o The game starts when all connected clients are "ready".1
o The server generates a random number (e.g., 1-100). 4. Gameplay:
o The server prompts each client in turn to guess the number. o The server checks the guess:
§ Ifcorrect,theserverannouncesthewinnertoallclientsandendsthegame.
§ If incorrect, the server informs all clients whether the guess is too high or
too low, and then prompts the next client.
o Next turn order: the player who guesses closest gets to guess first in the next turn. 5. Game End: The game ends when a client guesses correctly. (To make it simpler, no restart
is required. That means we only test once.)
Client Behavior
1. Connect to Server: Clients connect to the server using its IP and port of the server.
2. Submit Name: Clients send their name when prompted by the server.
3. Gameplay:
o Clients wait for their turn to guess.
o When prompted, the client sends a guess to the server.
o The client receives feedback from the server about their guess.
6. Game End: Clients are notified when the game ends. (To make it simpler, no restart is required. That means we only test once.)
1 When we test your code, we will start two clients (two clients code should let the server know their joining) first, and then enter client’s name one by one.
    
Implementation Requirements
• Language: Python 3.x
• Sockets: Use socket module, UDP protocol.
• Error Handling: Implement basic error handling for invalid inputs.
Program Execution
1. Server Execution (in terminal):
python server.py --ip <server_ip> --port <port> Example:
python server.py --ip 192.168.0.100 --port 42345
2. Client Execution (in terminal):
python client.py --ip <server_ip> --port <port> Example:
python client.py --ip 192.168.0.100 --port 42345
Submission
Package server.py and client.py into a zip file and submit it to Learningmall’s submission link.
Sample Interaction
Server Output
Server started on 192.168.0.100:42345 Client connected: (192.168.0.101, 54321) Client connected: (192.168.0.102, 54322) Received name: Alice
Received name: Bob
All clients are ready. Starting the game. Random number generated: 42
Prompting Alice to guess.
Received guess 30 from Alice. Too low. Prompting Bob to guess.
Received guess 50 from Bob. Too high. Prompting Bob to guess.
Received guess 42 from Bob. Bob wins! Client Output (Alice)
Connected to server at 192.168.0.100:42345 Enter your name: Alice
Waiting for other players...
Game started!
Your turn to guess.
Enter your guess: 30
Your guess is too low.
Waiting for your turn...
Bob guessed 50. The guess is too high.
       
Waiting for your turn...
Bob guessed 42 and won the game!
Client Output (Bob)
Connected to server at 192.168.0.100:42345 Enter your name: Bob
Waiting for other players...
Game started!
Waiting for your turn...
Alice guessed 30. The guess is too low. Your turn to guess.
Enter your guess: 50
Your guess is too high.
Your turn to guess.
Enter your guess: 42
Congratulations! You guessed the number!
Grading Criteria (Total: 5 points)
1. Functionality (2 points)
o 2 points: Correct implementation of game logic, including generating a random number,
prompting clients to guess in turn, evaluating the guess (higher/lower), and broadcasting
results to all clients.
o 1 point: Basic communication between the client and server is established, including
client connection and name registration.
o 0 point: No submission or incorrect submission.
2. Code Quality and Standards (1 point)
o 1 point: Code is well-structured, with appropriate comments, clear variable naming,
and logical organization.
o 0.5 points: The submitted program has no major syntax errors and can run correctly. o 0 point: No submission or incorrect submission.
3. Timely Submission (2 point)
o 2 points: Complete submission of server.py and client.py files during the lab. o 1 point: Complete submission of server.py and client.py files within 24 hours. o 0 points: Incomplete or late submission or missing any file.


    
请加QQ:99515681  邮箱:99515681@qq.com   WX:codinghelp






 

扫一扫在手机打开当前页
  • 上一篇:代做CENG 2310、代写matlab设计编程
  • 下一篇:AM05 AUT24代做、代写R设计编程
  • 无相关信息
    合肥生活资讯

    合肥图文信息
    新能源捕鱼一体电鱼竿好用吗
    新能源捕鱼一体电鱼竿好用吗
    海信罗马假日洗衣机亮相AWE  复古美学与现代科技完美结合
    海信罗马假日洗衣机亮相AWE 复古美学与现代
    合肥机场巴士4号线
    合肥机场巴士4号线
    合肥机场巴士3号线
    合肥机场巴士3号线
    合肥机场巴士2号线
    合肥机场巴士2号线
    合肥机场巴士1号线
    合肥机场巴士1号线
    合肥轨道交通线路图
    合肥轨道交通线路图
    合肥地铁5号线 运营时刻表
    合肥地铁5号线 运营时刻表
  • 币安app官网下载

    关于我们 | 打赏支持 | 广告服务 | 联系我们 | 网站地图 | 免责声明 | 帮助中心 | 友情链接 |

    Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥网 版权所有
    ICP备06013414号-3 公安备 42010502001045