大学期间与同班同学徐志强一起开发了五子棋大师2.0程序,到今年已有10个年头了,现共享出来以表纪念:

五子棋大师采用了专家系统的相关思想,内设棋谱库、推理机结合当前棋局就可以推理了,每次推理针对每个节点打分(评价),评价分为进攻和防守,每个节点评价完成后,选择一个最有利的一个点下棋。

五子棋大师对于进攻和防守采用了一套算法,因为五子棋的特点是如果某点对于我方比较有利,对于对方一般不利,反之亦然,所以只用编写进攻评价的算法,将黑色对调,再执行一次算法,可得到防守分值。

五子棋大师在棋谱库的生成方面采用了有趣的算法,对于一个棋谱,进行多次旋转后,可以得到多个棋谱,看起来是不同的,但是实际上对于计算机处理只能算是一种,这通过矩阵运算就可以实现,可减少棋谱的编制时间。

现在共享的源码是vc6.0的,但是可以在vs2008中打开编译。实际上第一个版本是dos版,用Turbo C编写的。大部分程序是在386的机器上完成的。现在看到的是第二个版本,基本都是在486机器上完成的,为了快速从Turbo C移植到vc6.0,未采用多少面向对象的思想(那时候理解也不深,嘿嘿)。

我大学是学机械设计与制造的的,搞程序当时纯属兴趣,现在看有很多值得改进之处,欢迎有兴趣者研究探讨。

源代码下载请点击:五子棋大师2.0源程序.rar,绝对原创,其中部分图片来源于魔法门游戏的截图,修改该源代码请注明出处。

可执行程序下载点击:五子棋大师2.0执行程序版,工作学习之余,可以放松一下。

欢迎讨论,对架构技术感兴趣的可以加入群:85228721

【原创】五子棋大师2.0完整源码相关推荐

  1. 360影视php视频系统源码,全新360影视2.0完整源码 双端APP+三级分销 附视频搭建教程...

    源码资源说明: 演示环境Linux+mysql+PHP5.6+伪静态支持这个程序基本环境要求不是很大,但有的地方还是要注意一下说一下需要的东西: 1.主机 2.域名 3.源码(会给大家打包,包含前后端 ...

  2. 【QT项目】简易五子棋游戏(人机对战)— 完整源码

    文章目录 前言 一.游戏实现效果 二.需求分析 三.解决方案 四.核心步骤 1.插入棋盘图 2.双方落子 3.输赢判定 4.重新开始 五.完整源码 1.main.cpp 2.chessboard.h ...

  3. C语言将向量中的所有0移至末尾(附完整源码)

    C语言将向量中的所有0移至末尾 将向量中的所有0移至末尾 C语言将向量中的所有0移至末尾完整源码(定义,实现,main函数测试) 将向量中的所有0移至末尾 example: intout vec = ...

  4. C++打印0到N的Catalan数卡特兰数(附完整源码)

    打印0到N的Catalan数卡特兰数 打印0到N的Catalan数卡特兰数算法的完整源码(定义,实现,main函数测试) 打印0到N的Catalan数卡特兰数算法的完整源码(定义,实现,main函数测 ...

  5. 【原创】BSC链只涨不跌的合约学习【完整源码】

    要想做到BSC链如何做到只涨不跌,那首先我们就来了解下薄饼交易所(pancakeswap)价格产生原理: 市场价格=池子里DAI的数量/池子里BNB的数量(P市场=X/Y).假设市场数量趋近于无穷大, ...

  6. JavaScript实现判断位是不是偶数isEven算法(附完整源码)

    JavaScript实现判断位是不是偶数isEven算法(附完整源码) isEven.js完整源代码 isEven.js完整源代码 /*** @param {number} number* @retu ...

  7. [iOS] 完整源码, Swift语言 - 账号保存工具

    代码地址如下: http://www.demodashi.com/demo/15017.html 1. 需求分析 作为一个开发者,平时肯定在各个平台,网站注册了各种账号:由于太多,很多时候都是注册之后 ...

  8. Python贪吃蛇小游戏_完整源码免费分享

    文章目录 Python 贪吃蛇小游戏 1. 导包 2. 配置初始化参数 3. 主函数及运行主体 4. 画食物的函数 5. 画贪吃蛇的函数 6. 画网格的函数(非必选,觉得多余的可以忽略此项) 7. 操 ...

  9. 大神论坛 逆向分析 Internet Download Manager 序列号算法 附IDM注册机完整源码

    1. 前言 idm version : 6.38 Build 23 2.算法逆向 IDM的序列号验证函数定位在: 下面是在IDA下的代码分析: .text:00510010 push ebp .tex ...

最新文章

  1. Bundle Adjustment原理及应用(附实战代码)
  2. 免安装版Tomcat6.0启动方法
  3. App设计灵感之十二组精美的机票预订App设计案例
  4. css 文字可选,在HTML5中如何使用CSS建立不可选的文字
  5. 写失败数据写入成功_深度 | 缓存与数据库一致性问题剖析
  6. 部分AMD RAID驱动程序需及时升级
  7. fps透视基础-d3d绘制-绘制文字-绘制方框-绘制连线
  8. 2.12 变形工具的使用 [Ps教程]
  9. c#访问其他服务器的共享文件夹,C#实现访问网络共享文件夹
  10. 【No.01】八份简约经典的生成设计入门案例
  11. 72名图灵奖获得者的成就
  12. QT项目之键盘控制光标移动
  13. python时间模块 datetime (datetime、timedelta和timezone部分)
  14. TTL RGB信号相关 介绍最为详细 HSYNC VSYNC DE CLK
  15. 淄博烧烤火了,其他的烧烤靠什么火呢
  16. 网站常见的攻击与防护
  17. 赛扬处理器_英特尔发布11代奔腾、赛扬处理器 均支持AVX指令集
  18. 高中计算机试题一,高中计算机考试试题集(一)
  19. Solarwinds推出新免费网管工具-IP SLA Monitor
  20. html插入flash时钟,ppt如何添加Flash时钟插件

热门文章

  1. 网上与微舆情差不的同款系统软件功能详解
  2. opencv学习日志26--检测圆孔并且标记
  3. Matlab论文插图绘制模板第77期—对数刻度横向柱状图
  4. Freemarker模板引擎学习,生成html里的动态表格,可合并单元格
  5. Python简单爬取图书信息及入库
  6. ActivityNet数据集简介及下载分享(百度网盘)
  7. 微信小程序开发—项目实战之聊天机器人
  8. 数据结构 02-栈概念、Python 中使用列表 list 实现栈
  9. layui日历形式展示对应可编辑表格数据
  10. 《质量免费》读后感_20161125