chess相关内容

修改取消引用的结构指针会更改大多数结构值,但不会更改切片

我正在尝试创建结构板(棋盘)的浅表副本.在保存对板的移动之前,我需要检查该移动是否使移动器处于检查状态. 要这样做,请在Move方法(指针方法)中,取消引用指针,更新并检查此 可能 面板进行检查.当我更改Board类型的单个值(例如possible.headers = "Possible Varient")的值时,原始的b Board不会更改. 但是在这里,当我调用方法updateBo ..
发布时间:2020-05-09 19:03:19 其他开发

MATLAB:如何从用户单击中获得3D坐标?

本学期,我正在使用Matlab为我的一门课程创建一个小型国际象棋游戏.我遇到的麻烦是让用户能够选择其中一个棋子. 为简化起见,我正在做它,以便用户通过单击棋子所在的正方形来选择棋子,而不是单击棋子本身(我认为这会困难得多).我知道如何获取视口的x和y坐标,但是如何将这些坐标转换为3空间坐标? 我知道每个视口坐标都有多个x,y,z坐标,但是我只对z = 0的x,y,z坐标感兴趣(因为板子 ..
发布时间:2020-05-06 15:05:30 其他开发

如何使用Matlab与uci协议进行通信

我正在寻找一种使用matlab与具有uci协议的国际象棋引擎进行通信的方法. 国际象棋引擎是rybka,它是一个exe文件.当我运行rybka.exe时,我可以通过dos命令提示符进行通信,但是我想通过matlab进行通信. 我想我必须使用streampipe以及stdin和stdout,但是我不知道如何使用它. 我在Python中找到了此代码,并且可以正常工作,但是我正在寻找Matlab版 ..
发布时间:2020-05-06 14:07:16 其他开发

实施国际象棋引擎有多难?

我想知道实施棋类引擎会有多困难.已经有开源的实现了吗? 对于给定的电路板星座,您似乎需要评分功能,并且需要一种非常快速的方法来探索将来可能出现的几种电路板星座.探索所有可能的未来动作当然是不可能的,因此人们可以贪婪地跟随最有希望的动作,或使用类似的技术,例如模拟退火以概率方式跟踪运动. 您认为这是否在机器学习研究生项目的范围之内-假设学生可以使用一个开放源代码的实现,这是否是诸如返回给 ..
发布时间:2020-05-04 09:22:29 AI人工智能

使用通用国际象棋界面

我正计划制作一个与UCI国际象棋引擎接口的程序.我一直在对此进行一些研究,但是在获得更多信息之前,我想获得更多信息.我想知道你们中是否有人可以提供一些UCI引擎和前端程序之间的“交换"示例.我并不真正关心实用的接口代码(例如发送/接收命令),这应该足够简单.我只是想获得一些小游戏的好例子和一些选择.我目前正在使用Stockfish引擎,但是我希望能够使用多个引擎. 因此,无论如何,我正在寻找 ..
发布时间:2020-05-01 09:34:57 服务器开发

在java的国际象棋棋盘

这是我的代码 import javax.swing。*; import java.awt。*; public class board2 { JFrame frame; JPanel squares [] [] = new JPanel [8] [8]; public board2(){ frame = new JFrame(“Simplified Chess ..
发布时间:2018-12-05 10:38:33 Java开发

是否将JLabel添加到JPanel“隐藏” JPanel?

如果我在GridLayout中有几个JPanels,每个都有一个MouseAdapter,然后创建JLabel(带文本)并添加到每个JPanels。请注意,JLabel没有侦听器。 如果我渲染它并尝试点击JPanel,或者最终尝试点击JLabel,MouseAdapter会将其注册为事件吗? 基本上我希望JPanels注册事件和JPanels只显示JPanels上面的文本。此外,面板具有背 ..
发布时间:2018-11-27 11:31:32 Java开发

棋子层次结构设计:继承与类型字段

我有件的基类 class piece; 和包含派生对象的数组 piece * board [8] [8]; 通过虚拟功能实现优势,简洁设计。缺点,如果我必须在板上找到一块或比较一件我必须恢复到动态铸造(或typeid)。它是丑陋的,并且在制作数百万个请求时可能会很糟糕。 另一方面,如果我创建一个单件类的数组,那么它有一个类型字段为了识 ..
发布时间:2018-08-03 16:06:27 C/C++开发

在国际象棋游戏中将图像插入代码c#

我在2天前问了一个关于国际象棋比赛的问题,朋友建议我下面的代码,我对此有疑问。这是这个链接 请参阅: 私人图片Displayimage; 我不知道如何将棋子中的棋子放入其中,我应该把它放在哪里? class PiecePosition { public enum ChessColor { White, 黑色, } 公共类ChessPiece { privat ..
发布时间:2018-07-26 14:34:50 C#/.NET

正确实施Zobrist Hashing

我目前在我的国际象棋引擎中添加转置表,并且我在增量更新Zobrist键时遇到了问题。我做了一些研究并实施了这个基本想法,但它并没有像我期望的那样行事。我遇到的问题是相同的电路板位置并不总是具有相同的键。例如,在起始位置,如果两名球员刚刚移动一名骑士然后将其移回,则键将与起始位置不同。但是,再次执行此操作(移动骑士)并返回到起始位置会导致原始密钥。因此,对于每个玩家来说,这样的顺序似乎是4次移动,当 ..
发布时间:2018-06-01 19:06:48 其他开发

去 - 修改解引用的结构指针改变大多数结构值,但不改变切片

我试图创建一个struct Board(棋盘)的浅拷贝。在保存移动到董事会之前,我需要检查这一举动是否会让移动者进入检查状态。 为此,在Move方法(指针的方法) ,我取消引用指针,更新并检查此 可能的 棋盘。当我更改Board类型的单个值的值(例如 possible.headers =“Possible Varient”)时,原始的 b 董事会不变。 但是当我调用updateBoar ..
发布时间:2018-05-02 18:51:05 其他开发语言

面向对象的象棋游戏设计

我正在尝试以面向对象的方式感受如何设计和思考,并希望从社区获得有关此主题的一些反馈。以下是我想以OO方式设计的象棋游戏的例子。这是一个非常广泛的设计,我在这个阶段的重点只是确定谁负责什么消息,以及对象如何相互交互来模拟游戏。请指出,如果有不良设计(高耦合,不良内聚等)的元素以及如何改进它们。 国际象棋游戏有以下课程 Board 玩家 Piece Square ChessGame ..
发布时间:2017-05-12 19:37:17 软件设计

高效存储象棋位置

我已经读过与这个问题相关的大量网络点击,我还没有遇到任何明确的答案。 我想做什么是建立棋位置数据库,能够识别转置(通常哪些棋子在哪个棋子上)。 编辑:它也应该能够识别类似不完全相同)。 这是几乎20年前的讨论(当空间是问题): https://groups.google.com/forum/#!topic /rec.games.chess.computer/wVyS3tftZA ..
发布时间:2017-03-17 21:08:14 其他数据库

如何在D3绘制棋盘?

我想在D3画一个棋盘: 我会满意的只能绘制初始游戏位置(如上所述)。 可能的情况是,人们不需要国王,皇后,骑士等的图像文件(有12个不同的部分),因为它们都是 Unicode 作为编码点2654-265F: Unicode字符出现在任何现代浏览器: ♔♕♖♗♙♙ ♚♛♜♝♞♟ 维基百科上的Unicode象棋符号:这里 使用Unicode字符在终端中显示棋盘 ..
发布时间:2017-03-10 18:26:39 前端开发

在Windows控制台中显示unicode棋子

我一直在开发一个控制台Chess游戏C ++(使用MVS2010),我似乎面临一个问题,我不能解决我自己。问题是,我需要在控制台中显示以下棋子: http:// en .wikipedia.org / wiki / Chess_symbols_in_Unicode 我当然经历了大量的论坛,文章和文档,但仍然没有完成任务。我知道一些字符(特别是我需要的)不能使用Windows控制台提供的字体 ..
发布时间:2016-11-02 01:50:04 C/C++开发

快速启发式算法(n> 1000)

我写了两个程序: 将棋子放在棋盘上,没有任何威胁的回溯算法。但是对于大n非常重。 在棋盘上组合n个皇后,而不会受到爬山算法的任何威胁。这个算法优于过去的解决方案,但它需要2分钟为300皇后,这次增加指数! 但我没有任何的想法这么快!我想要更快的算法。 我想要更快的方式解决问题,尽快为1000皇后。 这是我的登山代码: // N queen - 重置修复Hill ..
发布时间:2016-10-30 04:27:07 C/C++开发

转置表会导致搜索不稳定

我在写一个象棋引擎,最近添加了一个转置表。 当运行几个测试时,我发现虽然搜索仍然返回相同的最佳移动,移动的价值(对于最大化玩家来说有多好) 。 这是转置表的正常行为吗?我记得读一个转置表可能会导致搜索不稳定。这是什么意思? 解决方案 是的,转置表会引入搜索不稳定性。 幸运的是,这种情况很少发生,转座表的优点远远超过了复杂程度。 1。转置表的功能是什么? 在您的 ..
发布时间:2016-10-27 03:24:54 AI人工智能

与XBoard(国际象棋引擎)(C ++ / C)

我只是玩弄一个基本的国际象棋引擎。我能够从 http://web.archive.org/web/20070704121716/http://www.brucemo.com/compchess/programming/alphabeta.htm ,但真实网站已关闭,并非所有网页存档。 (任何人知道在哪里可以找到完整版本的Bruce的网站?) 但现在到真正的问题:如何与XBoard沟通?我理解 ..
发布时间:2016-10-24 14:15:22 C/C++开发

12主导骑士拼图(回溯)

我一直在寻找几个小时,并没有找到一个完全工作的解决方案,这种拼图还是。所以我跟着类似的问题与主教。 我需要做的是在棋盘上放置12个骑士,这样的方式,所有的自由广场的董事会都受到攻击至少一个。 最终结果应如下所示: > 问题是 我的程序只尝试不同的组合,最后两个部分,然后以某种方式崩溃。 EDITED 我到目前为止做了什么: #include ..
发布时间:2016-10-22 18:28:24 C/C++开发