目录
项目介绍
核心技术
需求分析
用户模块
匹配模块
对战模块
页面预览
数据库设计
完整代码:项目完整代码/网页五子棋/gobang_system · Echo/project - 码云 - 开源中国
项目介绍
实现一个网页版五子棋对战程序,支持以下核心功能:
1. 用户模块:用户注册、用户登录、用户天梯分数记录 以及 用户比赛场次记录
2. 匹配模块:按照用户的天梯分数实现匹配机制
3. 对战模块:实现两个玩家在网页端进行五子棋对战功能
核心技术
Spring/SpringBoot/SpringMVC
WebSocket
MySQL
MyBatis
HTML/CSS/AJAX
需求分析
整个项目主要分为三个模块:
用户模块
匹配模块
对战模块
用户模块
用户模块主要涉及用户的注册、登录 以及 分数的记录功能
使用 MySQL 数据库存储数据
客户端提供 登录页面 和 注册页面
服务端基于 Spring + MyBatis 实现数据库的增删改查
匹配模块
用户登录成功,进入游戏大厅页面
在游戏大厅中,显示用户名、天梯分数、比赛场次等基本信息和一个匹配按钮
点击匹配按钮,用户进入匹配队列,按钮显示 "正在匹配"
再次点击,将用户从匹配队列中移除,显示 "点击进行匹配"
若用户成功匹配到对手,显示对手信息,点击确定,跳转至游戏房间页面
对战模块
玩家匹配成功,进入游戏房间页面
匹配成功的两个玩家处于同一游戏房间
在游戏房间页面中,显示五子棋棋盘,以及落子提示信息
轮到当前玩家落子时,玩家点击棋盘对应位置实现落子
当棋盘上存在五个连续的同色棋子时,判定游戏结束,显示 胜利/失败信息,同时显示"返回游戏大厅"按钮
若玩家中途退出,则直接判断对手胜利
页面预览
用户登录:
用户注册:
游戏大厅:
进行匹配:
匹配到对手:
游戏房间:
游戏结束:
返回游戏大厅:
数据库设计
创建 user 表,存储用户信息,如 用户名、密码、天梯分数等
-- 设置客户端与服务器之间的字符集为 utf8mb4,该字符集可以存储任何 unicode 字符
set names utf8mb4;
-- 创建数据库
drop database if exists `gobang_system`;
create database `gobang_system` character set utf8mb4 collate utf8mb4_general_ci;
-- 创建 user 表
use `gobang_system`;
drop table if exists `user`;
create table user (`id` bigint unsigned not null auto_increment, -- 主键`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON update CURRENT_TIMESTAMP,`user_name` varchar(255) unique , -- 用户名`password` varchar(255) not null , -- 密码`score` bigint not null , -- 天梯分数`total_count` bigint not null , -- 比赛次数`win_count` bigint not null, -- 获胜次数PRIMARY KEY (`id`)
);