Skip to content
/ KOB Public

开源蛇蛇对战平台、人和算法薛定谔式对抗系统。现有功能对战,对局列表展示、排行榜、创建蛇算法、人工操作蛇对战功能。功能持续更新中......技术栈Spring Cloud、SpringBoot、MyBatis-plus、WebSocket、MySQL、Vue3.x、 BootStrap5.x。前后端分离,服务拆分的实践项目。

License

Notifications You must be signed in to change notification settings

fckey/KOB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KOB

Build Status License Stars Forks

前言

KOB项目致力于打造一套线上对战小游戏平台,采用现阶段流行技术实现。

项目简介

功能说明

该项目的模块结构流程图如下所示:

对于整个系统的匹配逻辑,考虑到匹配过程中的耗费的时间或资源问题,将匹配操作单独作为一个服务,使用Rest方式实现服务间通信。

匹配成功之后,对client游戏过的程序执行流程图如下所示:

整体的流程是:

​ 用户开始匹配的时候,会向后端发送请求,会在后端开启一个新的websocket连接。接收到开始匹配的请求之后,将匹配的请求发送给匹配系统,匹配系统按照某种算法衡量用户的相似度。匹配系统将相似度最高的两名客户端分别返回给客户端,告知匹配对象,并将匹配到的对手的信息分别返回两个客户端。

​ 并在此时,匹配成功之后,后端开始创建地图,并将地图信息发送给匹配好的两个客户端,以实现两名玩家对战的时候地图是一只的。之后,不断的在规定的时间内获取用户的下一步操作,每次获得下一步操作都需要判断操作的合法性。最后得出对战的结果。

匹配系统的逻辑: 接收到一个请求之后,会将当前匹配的用户都放到一个池子里面。开一个额外的新线程,每个一秒中扫描一边整个数组,将能够匹配的人匹配到一起。

有关于playerAplayerB的匹配相似度

当前系统,我们令factor = 10, 当Matching degree 小于1的时候,说明是可以进行匹配的,否则playerAplayerB不进行匹配。

环境搭建

  • JDK 1.8
  • SpringCloud
  • JDK 1.8
  • Maven latest
  • Spring Boot 2.0.4
  • Intellij IDEA
  • mysql 5.7

运行

后续计划

问题反馈

联系我

许可证

About

开源蛇蛇对战平台、人和算法薛定谔式对抗系统。现有功能对战,对局列表展示、排行榜、创建蛇算法、人工操作蛇对战功能。功能持续更新中......技术栈Spring Cloud、SpringBoot、MyBatis-plus、WebSocket、MySQL、Vue3.x、 BootStrap5.x。前后端分离,服务拆分的实践项目。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published