前言
之前我们已经完成了一个有房间的五指棋游戏,现在我们将进一步来完善这个东西。这一次我们打算新增的功能有:
- 之前我们增加了房间,但并没有限制房间只能进入2个人
- 增加一个守护线程,统计当前房间的数量,后面我们将继续完善这个守护线程的功能。
- 展示上一个棋子落在何处
- 离开房间后会减少房间的人数,并回收房间
思考
第一个功能应该是发生在建立连接的时候,如果房间里超过2人,则返回前端一个错误。
第二个我们需要创建一个新的线程。
第三个是一个纯粹的前端开发工作,我们可以新增两个图片,并每次标记上一次的位置,当下一个子的时候,画一个特殊的子,并用一张normal的子覆盖上一个子。
第四个是发生在断开连接的时候。
实现
第一个功能。
Room room = roomMap.get(roomId);
if (room.enterRoom(session)){
session.getUserProperties().put("roomId", roomId);
}else{
Result result = new Result();
result.setSuccess(false);
result