基于多进程的抗击生物病毒游戏的设计与实现
2021-07-19曾雨阳赵建喆
曾雨阳 赵建喆


摘要:隨着网络的迅速发展,多人在线游戏备受欢迎。选取抗击生物病毒的主题,通过多线程等技术开发了游戏,多个客户端可以通过socket连接服务器,实现通信与交互。旨在借助多人在线游戏的特点,传递抗击生物病毒的精神力量。
关键词:多进程;多线程;多人在线游戏
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)14-0047-02
Abstract: With the rapid development of the Internet, multiplayer online games are very popular. Fighting biological virus is selected as the topic of the game. Through multi-threading technology, the game is developed. To achieve communication and interaction, multiple clients can be connected to the server via socket. The spirit of fighting biological virus is transferred using the characteristics of multiplayer online games.
Key words: multi-process; multi-threading; multiplayer online game
1 背景
本文设计并实现了一个基于多进程、多人在线操作的抗击生物病毒游戏。
玩家可以自由控制自己的“医生”角色,当与对面来的病毒相遇时,玩家医生血量减少;当与对面来的疫苗或口罩道具相遇时,玩家会获得积分。
游戏实现了以下功能:上下左右按键自由控制“医生”角色的移动。随机生成病毒、疫苗和口罩道具,这些障碍物会以不同的速度匀速自上而下移动。玩家血量减少、玩家积分、失败和重新开始等。界面显示生命值和得分。
游戏具有多人联机协同的功能。客户端使用Java与Swing实现,服务端使用C/C++混合编程,实现了多进程、多线程、进程间通信和多路复用等技术[1-2]。
2 系统设计
2.1 架构设计
游戏客户端使用Java Swing作为前端GUI,使用Java作为客户端逻辑,服务端使用C/C++混合编程实现,客户端与服务端使用Socket TCP协议连接[3]。架构设计如图1所示。
客户端不负责进行关键逻辑判断,只负责接收消息并将处理后的消息展示到GUI界面,服务端负责实现病毒、口罩和疫苗道具等障碍物对象的生成、相遇判断等,有效地避免了客户端可能发生的作弊现象,保证了游戏的公平性与安全性。……
