GithubHelp home page GithubHelp logo

barry215 / gobang Goto Github PK

View Code? Open in Web Editor NEW
40.0 2.0 6.0 1.57 MB

a gobang game based on vue2+vue-router2+iview+express+typescript

Home Page: http://www.maijinta.cn

JavaScript 6.54% TypeScript 87.05% HTML 5.62% CSS 0.79%

gobang's Introduction

五子棋游戏

游戏方式

  • 玩家vs人机
  • 玩家vs玩家

具体功能

人机

可以选择白棋或黑棋,先下或后下,与机器人进行五子棋练习

简单版

电脑只搜索当前最佳一点,速度快

困难版

电脑搜索4步之后的最佳子,但是速度慢,尤其手机速度感人

算法实现
  1. 利用了博弈树的极大极小值的**,分数越高,电脑越有利,玩家越不利

    即电脑从所有低分结果中选出最高分,玩家假设聪明到能从所有高分结果中选出最低分

  2. 由于博弈树的分支会越来越大,呈指数型增长,所以采用AlphaBeta剪枝算法

    即假设min层中,已得最大值为a,则之后遍历的兄弟节点中的子节点一旦出现小于a的值,该兄弟节点就会被裁剪掉

    因为兄弟节点会选择子节点中最小的值作为自己的值,而兄弟节点的上一层需要最大的值,所以该兄弟节点已无用

  3. 虽然有了剪枝,但是速度依旧不快,而且AlphaBeta剪枝依赖遍历所得的最优解,但是从头开始遍历的要很久才会找到最优解,所以我们需要先找到一个最优解,然后再对其兄弟节点计算,这样会剪枝掉更多的节点,这就是所谓的启发式搜索

  4. 关于棋盘评分函数,也就是是各个点的得分总和,每个点的评分函数则是关键,有模式匹配的,有赢法加权的

玩家

  • 查看玩家
  • 邀请玩家
  • 修改昵称
  • 悔棋功能
  • 认输功能
  • 标记新棋
  • 智能提醒

技术方案

vue2+vue-router2+iview+socket.io+webpack+nodejs+express+typescript

使用

cnpm install
//debug
npm run dev
//product
npm run build

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.