基于WebSocket通信的H5小游戏总结

本文介绍了数字华容道游戏的设计,包括逻辑架构、用户房间创建与匹配、WebSocket通信的建立与处理,以及项目中关键代码实现。同时强调了前期设计的重要性,以及使用WebSocket和自动化部署工具的应用。

线上地址:欢迎各位小伙伴们试玩,并在游戏中提供反馈 ! ! !华容道小游戏icon-default.png?t=N7T8http://8.141.88.60:808

仓库地址:  Klotski: 数字华容道+拼图游戏

1.项目介绍:

数字华容道是一款经典的益智游戏,旨在挑战玩家的逻辑思维和空间想象能力。玩家需要通过移动数字方块的位置,按照特定的顺序将数字排列成正确的顺序,从而完成整个拼图。本项目不仅提供了离线单机版还提供双人PK功能,让您和好友在紧张刺激的氛围下一起头脑风暴。

2.项目逻辑:

  1. 用户点击进入房间后,前端获取访问者的设备号,随机昵称和头像,并存储到本地,用做后续的用户识别。
  2. 房间内只能存在两个玩家,第一个进行房间的人默认成为房主,向后端发送请求,建立WebSocket通信,后端通过map将用户的唯一Id和WebSocket相绑定。房主点击邀请好友后获得邀请码,分享给好友。
  3. 好友通过房主分享的邀请码进行房间,生成昵称和头像并向后端发送请求,建立WebSocket通信,同样地后端通过map将好友Id和WebSocket连接进行绑定。数据结构见Client.go
  4. 此时后端通过roomId将房主和好友进行绑定,方便后期查找,进行各种数据的处理。数据结构见Hub.go
  5. 好友点击准备,房主点击开始游戏后,双方进入华容道游戏。
  6. 在游戏过程中,实时交换双方的游戏数据:步数和完成进度。
  7. 如果一方完成游戏,另一方被告知对方已完成,游戏结束。
  8. 特殊情况处理:
    1. 如果在游戏的过程中,一方主动退出游戏,则另一方直接胜利;
    2. 如果在游戏过程中,玩家出现弱网、断网的情况,则会进行3次短线重连的提示,超过三次后失败后,则直接算作退出房间,留在房间内的玩家胜利。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值