Skip to content

一个基于vue3、springboot3、websocket、alpha-beta cut的五子棋游戏

License

Notifications You must be signed in to change notification settings

AZCodingAccount/iGomokuGame

Repository files navigation

iGomokuGame


介绍📘

​ iGomokuGame是一个基于Vue3SpringBoot3Element-PlusWebSocketSpringTaskDataV五子棋AI算法等实现的一款在线五子棋游戏。支持排行榜好友人机对战人机互动联机对战数据可视化分析等功能。项目使用最新技术开发,开发过程规范,逻辑严谨。

B站项目介绍地址: https://b23.tv/ph4Oz5l

在线预览👀

ℹ️ 对于用户端,您可能需要Ctrl+滚轮将屏幕缩放到一定尺寸(一般是80%)

ℹ️ 第一次访问请耐心等待浏览器从服务器拉取资源

注意🔒

由于本项目主要为演示项目,如需注册账号,请避免使用个人常用用户名与密码,以免因数据泄露被黑客获取进行撞库攻击

代码仓库🌟

项目亮点💡

  1. 技术新。采用最新版企业主流单体应用开发技术。
  2. 应用新。探索AI语音、互动交友与棋类游戏结合的新可能。
  3. 算法新。实现经典算法并加入原创部分。
  4. 有广度。完整CRUD、AI算法、数据实时通信、数据可视化应用等

项目技术应用🛠️

  1. 本项目采用Vue3+SpringBoot3为主要开发技术。

  2. 使用Spring Task技术实现定时任务,自动关闭房间。

  3. 使用WebSocket技术实现用户聊天与联机对战的实现。

  4. 使用博弈树+极大极小搜索+Alpha-Beta剪枝+评估函数实现人机对战

  5. 使用EchartsDataView实现数据可视化

  6. HTTP短轮询实现数据可视化中数据的更新

  7. 使用前端的Excel包实现数据的导入导出

  8. 使用animate.css实现游戏结束时动画的播放

  9. 使用TTS技术实现文本转语音完成AI与用户互动的功能

  10. 基于knife4j遵循OpenAPI3注解规范自动生成接口文档

  11. 使用IP2Region实现根据IP获取用户地址

快速开始 🚀

  • 拉取项目 (您需要先安装Git)
# Gitee
git pull https://gitee.com/Albert_han/i-gomoku-game.git
# GitHub
git pull https://github.com/AZCodingAccount/iGomokuGame
  • 运行前端项目
cd 前端项目目录
pnpm i	   # 安装依赖
pnpm dev   # 运行程序	
  • 运行数据库脚本

init.sql文件在 /iGomokuGame-Server/src/main/resources/sql目录下。

1:右键使用idea运行

2:找到一款数据库管理工具,如Navicat ,DataGrip等,导入sql文件,运行。

3:使用命令行运行

mysql -u username -p < ./init.sql	# sql文件的相对或绝对路径
  • 运行后端项目

1:右键使用idea打开。点击run即可运行

2:使用命令行运行

 cd 前端项目目录
 mvn clean package	# 打包项目
 cd target 
 java -jar jar包名  # 运行项目

项目部署

项目部署请移步博客文章:Docker部署Java项目的步骤

项目部分界面预览👁️

  • 主页

image-20231226160043863

  • 人机对战页

image-20231226191604276

  • 后台首页

image-20231226160300415

  • 可视化大屏

image-20231226160435752

  • 流量分析页

image-20231226160507134

鸣谢🌹

  1. TTS文本转演讲技术

​ AI嘉然:模型作者:Xz乔希

​ AI丁真:魔塔社区项目地址:https://modelscope.cn/studios/MiDd1Eye/DZ-Bert-VITS2/summary

​ 二者基于Bert-VITS2模型,Github项目地址: https://github.com/fishaudio/Bert-VITS2

  1. DataV数据可视化技术

    官网:http://datav.jiaminghi.com/guide/

  2. Knife4j

​ Github项目地址:https://github.com/xiaoymin/knife4j

  1. IP2Region

    Github项目地址:https://github.com/lionsoul2014/ip2region

  2. 五子棋AI算法参考博客

    【算法】极大极小α-β剪枝算法 - 知乎 (zhihu.com)

捐赠🍵

如果您认为这个项目对您有帮助,可以通过下面方式支持我

  • Star、Fork、Watch 一键三连 🌟
  • 通过微信,支付宝请我喝杯奶茶 ❤
微信 支付宝
wechat alipay

Releases

No releases published

Packages

No packages published