
Qt
文章平均质量分 85
隐身的安徒生
开启人类智慧的宝库有三把钥匙:一把是数字,一把是字母,一把是音乐。
展开
-
【Qt象棋游戏】08_人机博弈高阶算法
文章目录01 - 极大极小值算法02 - 电脑和人类所有走棋路径03 - 走一步看两步04 - 走一步看多步04 - 总结01 - 极大极小值算法 上一期博客介绍了最为简单的人机博弈算法,包括获取所有合法路径,简单的估值以及电脑走棋,本期博客在介绍估值算法上增加极大极小值算法(Minmax算法),让电脑走棋更加智能化。 极大极小值算法是一种找出失败的最大可能性中的最小值的算法,即最小化对手的最大收益。举个栗子,电脑为A,人类为B,A在走棋之前需要考虑A走了某一步之后,看看B有哪些走法,B又不傻,所原创 2021-06-13 18:35:41 · 2117 阅读 · 2 评论 -
【Qt象棋游戏】07_人机博弈算法开端
文章目录01 - 人机博弈算法简述02 - 相关成员与方法03 - 获取电脑棋子能走路径04 - 电脑走棋05 - 总结01 - 人机博弈算法简述 前面详细介绍了棋盘类的封装、棋子类的封装以及各种类型的棋子的走棋算法的实现。有了前面的铺垫,就能迈出电脑智能下棋的第一步了。 电脑要实现人机博弈下棋对战分3步走: (1)电脑获取棋子所有走得通的路径; (2)从棋子所有能走的路径中计算出对电脑最优路径; (3)电脑实现走棋。02 - 相关成员与方法 编写代码前,预先看看增加了哪些类和成原创 2021-06-13 18:21:13 · 869 阅读 · 2 评论 -
【Qt象棋游戏】06_象棋游戏法则
文章目录01 - 象棋游戏规则02 - 鼠标移动事件03 - 鼠标点击事件04 - 总结01 - 象棋游戏规则 实现上两章节的棋子走棋规则后,开始思考象棋游戏规则,比如轮到谁走,怎么判断谁赢等等。 实现轮到谁走的思路是使用Qt的信号与槽,通过发送信号和接收信号的方式通知轮到哪方下棋,具体实现如下://chessarea.h里面添加判断信号signals: void redTr...原创 2019-12-22 21:40:43 · 763 阅读 · 2 评论 -
【Qt象棋游戏】05_象棋走棋规则——象、马、将、兵
文章目录01 - 象能否移动02 - 马能否移动03 - 将能否移动04 - 兵能否移动05 - 判断象棋走棋规则函数06 - 总结01 - 象能否移动 象走田:象走日字格,判断方法为目标坐标和原始坐标横纵坐标绝对值差都为2,另外,还要注意“别象脚”判断,依靠横纵坐标差的中值可以获取到中值坐标,根据该坐标值,调用existChess函数判断在该位置是否有棋子“别象脚”,如果有棋子,那么棋...原创 2019-12-14 00:23:29 · 1230 阅读 · 0 评论 -
【Qt象棋游戏】04_象棋走棋规则——車、炮、士
文章目录01 - 象棋规则02 - 棋子移动规则03 - 車能否移动04 - 炮能否移动05 - 士能否移动06 - 总结01 - 象棋规则 经过两篇前面棋盘和棋子绘制,象棋框架基本成型,紧接着要实现象棋走棋规则,让象棋游戏真正能“动起来”。 象棋规则中:马走日,象走田;,车走直,炮隔一, 士走斜,将不出田;,兵去不还。这是象棋棋子行走规则的基本规则,下面看看详细分析象棋移动步骤。02...原创 2019-12-11 23:54:41 · 1326 阅读 · 0 评论 -
【Qt象棋游戏】03_象棋棋子摆放
文章目录01 - 加载棋子UI资源02 - 添加棋子属性类03 - 添加棋子标签04 - 效果05 - 总结棋子图片百度云链接:01 - 加载棋子UI资源 添加制作好的棋子UI图片到项目的资源文件,这样做的好处是生成.exe可执行文件或交叉编译移植系统,不需要把棋子UI资源再拉取到对应文件夹。添加流程是:右击项目工程 - 添加新文件 - Qt - Qt Resource File - 文件命...原创 2019-12-10 00:08:03 · 849 阅读 · 0 评论 -
【Qt象棋游戏】02_绘画象棋棋盘
文章目录01 - 相关成员与方法02 - 棋盘颜色03 - 绘画棋盘线04 - 添加“井”字格05 - 总结01 - 相关成员与方法 进行代码编写之前,在chessarea.h 增加相关成员和方法定义,同时加入Qt需要使用到的基本头文件。主要用到Qt绘画类:Qpen,QBrush,QPoint,QpaintEvent等,重写 paintEvent,达到绘制棋盘线功能。#ifndef CH...原创 2019-12-10 00:08:18 · 1225 阅读 · 0 评论 -
【Qt象棋游戏】01_Qt开发象棋游戏简介
文章目录01 - 前言02 - 工程概述03 - 效果演示04 - 总结01 - 前言02 - 工程概述03 - 效果演示04 - 总结 01_开发象棋游戏简介 02_绘画象棋棋盘 03_象棋棋子摆放 04_象棋走棋规则——車、炮、将、兵 05_象棋走棋规则——士、象、马 06_象棋游戏法则 07_人机博弈算法开端 08_人机博弈高阶算法 09_交叉编译移植Linu...原创 2019-12-10 00:08:25 · 918 阅读 · 0 评论