Skip to content

francis0407/MMORPG

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

数据库课程作业

功能介绍

以下功能全部都是做了后端同步的,没有做单独的前端功能。

  1. 基本的注册、登录功能。
  2. 通过心跳确定登录状态,完成用户退出时的资源释放、数据库更新以及广播。
  3. 好友列表可以看到所有在线用户并接发消息,历史记录只在前端保留本次登录后的内容。
  4. 物品系统,物品的产生是通过打怪、碰撞武器台或者在商城购买。物品的属性皆有含义,生命值提供最大生命值,防御攻击力在战斗时参与计算,速度影响移动速度,智慧影响新获取的物品属性值。
  5. 物品可以出售给系统(销毁)以换取银币。装备可以穿戴到身上,同时穿戴两把武器后可获得攻击能力。物品同样可以放到交易市场寄售(不能撤回寄售)
  6. 玩家可以在商城出售购买物品。
  7. 修复了怪物和玩家的碰撞检测,修复了怪物的初始位置,取消了怪物的复活机制(复活后的重定位问题无法解决),重设了怪物的最大生命值以及攻击力,死亡后随机奖励击杀者银币或者装备。
  8. 玩家和怪物都可以攻击玩家,玩家击败玩家后,获取其1/3的银币。同步了玩家生命值的语义,左上角图标按照玩家生命值百分比更新。
  9. 同步了场景中的所有机关(包括恢复生命的盒子、压力板、可触碰的水晶、大门)。
  10. 增加了第二个关卡的进入机关(有Bug没修复好)

数据库额外设计

  1. Account表与Player表分开,为了更好的业务扩展(最早是想尝试用自己写的kv引擎做Account表的,但是没来得及加网络模块)
  2. Player表记录了玩家的基本信息,玩家的位置、当前生命值等信息会定时更新刷盘,保证在不损耗大量性能的前提下,避免后端服务器宕机后的大幅度回档。
  3. Item和Market表在物品被使用、丢弃或者购买出售之后,不会删除记录,而会做标记,用于错误操作的恢复或者信息统计。在后端维护的时候进行清除,避免表中有大量无效数据影响查询性能。

Releases

No releases published

Packages

No packages published

Languages

  • C# 80.9%
  • ShaderLab 12.5%
  • HTML 3.8%
  • HLSL 1.9%
  • Other 0.9%