html+js+node實現五子棋線上對戰,五子棋最簡易算法


首先附上我的github地址,https://github.com/jiangzhenfei/five,線上實例:http://47.93.103.19:5900/client/

線上實例,你可以隨意起用戶名,房間號,然后讓你同事或者自己再打開一個網頁,輸入任意用戶名,但是房間號一樣才可以進入同一個房間對戰

本地運行,拷貝代碼,npm install依賴,進入server文件夾,執行 node index.js,然后直接在頁面打開client里面的index.html文件夾即可

詳細的源碼和解釋都是在那里,本次實現的是五子棋線上對戰,

技術點:

1.client/chess.js 該文件是五子棋算法,算法也很簡單,棋盤的每一行個數一樣,那么當你落子那一刻(左邊為 x ),該左邊邊上的坐標都是知道的,比如我一行11個子,那么該落子右邊為x+1,左邊x-1,正頭頂x-11,正下方x+11,左上x-10 ...,於是我們只要計算包括該落子在內的米子線上是否滿足5個,下面我舉一條線上算法,一條線上只要滿足圖中5個情況的一個即為該棋子贏了

 

2.后端在server文件夾,使用socket.io長連接持續推送給前端,要點是使用發布訂閱模式,訂閱一個房間的用戶,給該房間的用戶信息同步。

3.client/checkerboard.js 該文件是使用canvas繪制棋盤

4.client/resolve.js 該文件是頁面操作處理,包括進入房間,棋盤點擊,棋子渲染

5.server/index.js 該文件是后端處理,包括房間的訂閱,房間信息的同步

6.server/subscrible.js 該文件是發布訂閱模式代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM