Skip to content

五指棋es6canvas实现,人机、多人、游戏,虽然js_canvas游戏写过不少,五指棋还是第一次写,不足之处,望修正,谢谢

License

Notifications You must be signed in to change notification settings

zhoulujun/GoBang_Renju_es6_project

Repository files navigation

项目简介

a project for GoBang 今年一年一直是忙的连轴转,觉得自己进步不是很大。年底有人说你给我写个五指棋看看。

希望走过路过,闲暇之余不吝指教,拜谢 demo online:https://www.zhoulujun.cn/demo/gobang/index.html

工程说明

  • npm run start 启动工程,自动打开浏览器
  • 工程由yo Reat Webpack 搭建
  • eslint 为自定义的前对规范。
  • Test 未写

程序说明

fiveGame 主程

五指棋主程序 继承 EventListen——事件蛮多,直接监听了决

主要函数如下

构造函数参数

let game=new FiveChessGame('# box');
 /**
   * @param contentSelect {String} canvas插入box的 选择器
   * @param chessBoardWidth {number} 棋盘宽度
   * @param gridCount {number} 棋盘格数
   * @param gridColor {string} 棋盘格颜色
   * @param chessBordBackground {string} 棋盘背景颜色
   * @param chessRadius {number} 棋盘背景颜色
   * @param focusColor {string} 焦点颜色
   */

启动函数

game.start();
/***
   *启动函数
   * @param playerArr {Array} 棋手数组
   */

比如多人游戏,可能单机跟多人下,或者网络上下

悔棋

game.retract();
 /**
   *撤销棋局
   * @returns {boolean}
   */

撤销悔棋

game.recovery();
 /**
   *恢复撤销
   */

重置游戏

game.reset();

判断输赢

this.checkWin();
 /**
   *判断棋局输赢
   * @param player {Player} 棋手
   * @param x {number} x轴坐标
   * @param y {number} y轴坐标
   * @return {boolean}
   */

事件

chessExist

此位置已经存在棋子了

 /**
   * @param x {number} x轴坐标
   * @param y {number} y轴坐标
   */

wining

赢棋了

 /**
   * @param player {Player} 棋手
   */

waitPlayer

等待棋手落子

 /**
   * @param player {Player} 棋手
   */

算法说明

About

五指棋es6canvas实现,人机、多人、游戏,虽然js_canvas游戏写过不少,五指棋还是第一次写,不足之处,望修正,谢谢

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published