Skip to content

grggxxy/my-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Simple Multiplayer Shooting Game

启动方法

  1. 启动服务器
cd server
./startup.py
  1. 启动游戏

游戏功能

  • 登录并加入游戏
  • 注册用户
  • 退出游戏
  • 玩家登陆时读取玩家数据,玩家退出时保存玩家数据(保存的数据包括玩家当前的生命值武器类型弹药量敌人击杀数位置坐标朝向
  • WASD键控制左右前后移动、鼠标控制朝向
  • T键切换武器的点射/连射模式
  • R键换弹
  • 每消灭一波敌人,服务器随机刷新一波敌人
  • 敌人分为近战远程两种类型
  • 击杀敌人会掉落道具,道具有四种类型:
    • 回血道具
    • 补充子弹道具
    • 扇形枪(每一次射击都会向正前方发射扇形子弹)
    • 二连发枪(每一次射击都会向正前方连续发射两发子弹)
  • 玩家血量归零会死亡,5秒钟后自动复活
  • 玩家右键会释放令一定区域内敌人眩晕3秒的子弹,冷却10秒

相关说明

  • 服务器可以进行相关游戏数据的配置,具体见server/network/configure.py
  • 客户端和服务端交互所使用到的命令分别被定义在Assets/Scripts/Managers/NetWorkCommand/NetworkCommand.cs以及server/logic/commands.py两个文件中
  • 服务器会指定第一个加入游戏的玩家为host端,一旦该玩家退出,则所有其他玩家都会退出游戏
  • 敌人的寻路、移动、攻击判定等操作在host端完成并同步到其他玩家的客户端上,具体参考Assets/Scripts/Controllers/EnmeyController.cs以及Assets/Scripts/Controllers/EnmeyControllerSync.cs
  • 敌人寻路使用NavMeshAgent组件
  • 玩家数据使用sqlite保存,默认名字为game.db

其他

提供三组默认账号供测试:

username password
player1 123456
player2 123456
player3 123456

Releases

No releases published

Packages

No packages published