【原创】五子棋大师2.0完整源码

news/2024/11/24 6:49:25/

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

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

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

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

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

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

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

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

 

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


http://www.ppmy.cn/news/881434.html

相关文章

基于STM32 ARM+FPGA伺服控制系统总体设计方案(一)

设计需求 一套完整的伺服控制方案包括了上位机、驱控一体控制器和功率板三者。操作人员 通过上位机发送各种不同指令,然后控制器解析指令后执行相应的伺服功能,其次控 制器将驱动信号传输至功率板驱动电机,最后控制器采集反馈信息进行闭环…

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 二)

自定义组件 创建自定义组件 在ArkUI中,UI显示的内容均为组件,由框架直接提供的称为系统组件,由开发者定义的称为自定义组件。在进行 UI 界面开发时,通常不是简单的将系统组件进行组合使用,而是需要考虑代码可复用性、…

java版数据分析--上网日志流量统计

在给的 http.log 日志文件中,是电信运营商记录用户上网访问某些网站行为的日志记录数据,一条数据中有多个字段用空格分隔。 例如: “18611132889 http://v.baidu.com/tv 20 5000” 是一条上网行为,第一个字段代表手机号码&#x…

运营商级电信增值短彩流量监控营销平台

运营商级电信增值短彩流量监控营销平台 平台功能 一、短信网关 (一)通信程序模块(C/S结构) 1. 严格依据各运营商通信协议开发实现各项功能,支持网络异常处理并记录异常原因,自动检测自动连接。 2. 支持多线程收发短信。 3. 支持非法字符过虑引擎。 4. …

女士手机一夜跑流量50GB原因是什么

据报道,武汉用户陈女士手机一夜跑流量50GB,武汉电信与手机售后技术人员立即展开调查。调查发现:用户手机11月累计使用流量54.4GB,其中通过“个人热点”消耗的流量达到53.5GB。据了解,陈女士手机号码在11月11日晚10时26…

大数据概述及电信大数据应用

一:大数据的应用场景 马云:IT行业走向DT(Data technology)时代 2015 大数据峰会: 过去7年我们从互联网创业到互联网产业,很快进入互联网经济, 而且正在从IT走向DT时代,也许昨天称为IT领袖峰会,…

【kubernetes系列】Kubernetes之Ingress

概述 从前面的学习,我们可以了解到Kubernetes暴露服务的方式目前常见的只有三种:LoadBlancer Service、NodePort Service、Ingress;而我们需要将集群内服务提供外界访问就会面临以下几个问题: Pod 漂移问题 Kubernetes 具有强大…

hive实战演练:手机流量统计

hive 本质上是一个 sql 解析引擎 ,提供了一种类sql语言 hql 以便于使用,将我们熟悉的sql语言 转换成了 一个个map-reduce进程 需求 : 统计如下文件中 每个手机号使用流量的情况  待处理文件:http.dat 下载地址:h…