[Games]双人对战五子棋

  "使用netty-socket.io搭建五子棋服务器"

Posted by Stephen.Ri on May 6, 2019

五子棋游戏链接

  1. 双人对战版
  2. 单人练习版

使用教程

  1. 两名对手在输入框中输入相同的房间号,点击连接房间按钮,即可进入房间。
  2. 先进入房间的人为黑棋,先手落子。
  3. 对局结束后可以点击重新开始按钮,进行下一次对局。

Memcached现场模型

netty socket.io

socket.io是一个面向实时web应用的JavaScript库,它使得服务器和客户端之间实时双向的通信成为可能。 使用socket.io搭建服务器端需要用到node.js。 而netty的socket.io则允许我们通过Java来搭建服务器端,非常方便。

使用socket.io开发小游戏的服务器端非常简洁,代码可见GomokuServer。 客户端代码可直接从浏览器中看到。

代码逻辑

整个代码分服务器端和客户端。 主要分为三个组成部分。

  1. 建立房间。两个用户输入相同的房间号,即可进入同一个房间。服务器端将两个输入相同房间号的用户归为一个房间,其他输入该房间号的人只能ob。
  2. 落子。每个用户一次走一步。每落一子,将落子信息发送到服务器端,服务器端再发送给对手。客户端进行绘图,展示当前棋盘信息。
  3. 判定输赢。每次落子时,判定输赢。简单的遍历。