过了好几个星期了,我的两人结对项目已经结束,老师拿去给好多人玩了(得出的结论是太坑),有很多需要改进的地方,准备将它作为一个长期的练手项目在后续的学习中不断的改进吧!
首先介绍一下基础所需的知识点:

  1. 需要掌握C语言、windows编程、数据结构、算法导论中的一些内容;
  2. 涉及一部分博弈论原理,数学建模;
    (在这里首先说明一下,因为本人是一个初学者,这个博客的文章是我日常学习记录使用的,可能存在一些不合理的地方,欢迎大家的提示,我会在之后的学习过程中不断的论证加以改进。)

使用工具:
Visual Studio 2012
Visual Studio 适合编写Windows下的任何应用程序。为了让程序尽可能简洁,我不使用任何第三方的控件和库。使用windows编程进行本次项目实现,是因为正好大二学过Windows编程,正好趁此次机会进行巩固和练习。当然如果要开发一个象棋程序最好是在手机APP或者微信小程序上,但是由于从设计到实现所有象棋功能只有两周时间,我目前只能实现桌面应用程序。(之后将会进行一定的改进,目前还没想好。)
我所实现的图形界面如图所示:

我使用了一张560* 620像素的背景图片以及一些60*60像素的棋子图片。在界面上简单实现了电脑优先和我优先的选择,并在优先选择之后,进行难度等级的确定(难度等级共分为:入门选手,中级选手,高级选手)。
我将在下一节中说明如何进行贴图。

中国象棋AI实现02相关推荐

  1. 教你怎么用Python和Qt5编写中国象棋AI版——规则模块

    提示:该模块用于实现规则模块 教你怎么用Python和Qt5编写中国象棋AI版--规则模块 前言 一.中国象棋大致规则? 二.各棋子规则实现思路 1.兵 注意事项 过河兵合法偏移 未过河兵合法偏移 2 ...

  2. 中国象棋AI库AlphaZero_ChineseChess

    AlphaZero_ChineseChess是一个基于AlphaZero算法的中国象棋AI库,它是开源的,使用Python语言编写,托管在GitHub上.以下是对AlphaZero_ChineseCh ...

  3. 教你怎么用Python和Qt5编写中国象棋AI版——简明易懂版

    教你怎么用Python和Qt5编写中国象棋AI版--简明易懂版 一.前言 二.中国象棋的几个模块--作者认为的 三.各模块大致实现思路 四.最后 一.前言 大家学习Python是否有过编写一个稍微大型 ...

  4. 中国象棋AI实现01

    本学期开了一门课叫软件工程实践,在制作个人项目之后,我抽到了同学做的中国象棋,将在团队项目中,实现中国象棋的AI,第一次接触这方面的知识,在查阅了相关资料之后,给自己准备了一些网站和书本. 网站 象棋 ...

  5. 中国象棋总体设计 中国象棋课设02

    本节重点: 1.了解中国象棋棋盘总体设计 声明: 以下内容仅供学习,如有侵权,联系作者删除. 本人在Java多线程领域属于萌新,所以课设是参考了视频中项目,也是我学习Java的重要一环 参考视频出处: ...

  6. c语言中国象棋ai算法,【中国象棋】AI算法中的棋子价值是怎么衡定的?

    棋子价值 在对弈时,双方都要进行不可避免的兑子[帅(将)是唯一不可兑换的棋子,下列子的价值如下(以车9分为例,帅(将)除外] 车--9分 战斗力最强大的棋子,是作战主力的第一位.车的价值最大,用分值来 ...

  7. 中国象棋AI算法研究

    软件:象棋旋风6.2 设置一个困局,人很容易看出最优着法,测试象棋软件的局面评估算法 先上图: 如图:显然这是黑方的一个困局,虽然比红方多一个车和两个馬,但都被困住了, 此时人工对局正确着法显然是: ...

  8. java实现象棋ai_中国象棋AI实现?

    展开全部 喜欢下象棋的朋友都知道,象棋的博弈更像是62616964757a686964616fe59b9ee7ad9431333365643631一场坚持到最后才是胜利的游戏.阿尔法狗和柯洁的国际象棋 ...

  9. python编写人工智能-用Python写一个中国象棋AI?

    /************************************************************** = 民间六子棋(六子冲)人机博弈引擎实现与教程 =** www.leil ...

最新文章

  1. JVM 常见异常及内存诊断
  2. 自定义配置app.config
  3. struct 模块 把一个类型,如数字,转成固定长度的bytes
  4. JS 中对数组按照数组中某个对象的属性值进行排序
  5. LeetCode228场周赛解题报告
  6. C语言格式控制符/占位符 - C语言零基础入门教程
  7. WPF入门教程系列十五——WPF中的数据绑定(一)
  8. HTML+CSS+JS实现 ❤️新型冠状病毒射击小游戏❤️
  9. 【Git】Git解决文件本地更改的合并覆盖错误
  10. NumPy Beginner's Guide 2e 带注释源码 六、深入 NumPy 模块
  11. cakephp 2.0 源码解读(一)
  12. 抓取 虾米_Apple Music 新玩法——Workflow获取虾米评论以及导入虾米精选集
  13. Android热修复核心原理介绍
  14. 调整html元素大小 resize
  15. 【愚公系列】2022年09月 微信小程序-自定义tabBar的实现
  16. workman 日志_workerman
  17. win10安装onnx、tensorrt(python用,超简单安装版)
  18. 颜色类中英文词汇大全(3)
  19. python计算利率贷款_用Python获取银行网站上的存贷款利率表
  20. 君子博学而日参省乎己,则知明而行无过矣

热门文章

  1. 关于fgetc,getc,getchar和scanf的一些小知识
  2. linux死机快捷键重启,在Linux系统下死机后使用快捷键安全重启的方法
  3. 《Focusing Attention:Towards Accurate Text Recognition in Natural Images》阅读
  4. RS485模块应用实例
  5. (转载)Linux 下的dd命令使用详解
  6. 找不到本地组策略编辑器找不到gpedit.msc 的解决方法
  7. 约束委派+利用约束委派生成黄金票据
  8. mybatis-plus 动态指定只查询某些字段
  9. 友盟:2014年Q1中国移动互联网报告——重新认识三线移动互联网用户
  10. Image Processing——图像处理教程(二)之MATLAB基础