问题标签 [chess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
589 浏览

.net - 你会在棋盘上做什么?(片位)

你会创建3个列表(坐标)

  • 空位
  • 黑位
  • 白位

或者只是在需要时循环遍历数组并每次都使用结果?

什么是最好的?(速度方面)

0 投票
12 回答
7446 浏览

algorithm - 国际象棋优化

好的,所以我已经在我的国际象棋程序上工作了一段时间,我开始碰壁了。我已经完成了所有标准优化(negascout、迭代深化、杀手移动、历史启发式、静态搜索、棋子位置评估、一些搜索扩展),但我完全没有想法!

我希望尽快让它成为多线程的,这应该会给我的性能带来很大的提升,但除此之外,你们还遇到过其他漂亮的技巧吗?我曾考虑改用 MDF(f),但我听说这很麻烦,而且不值得。

我最感兴趣的是某种学习算法,但我不知道是否有人用国际象棋程序有效地做到了这一点。

另外,切换到位板会很重要吗?我目前正在使用 0x88。

0 投票
13 回答
28402 浏览

machine-learning - 实现一个国际象棋引擎有多难?

我想知道实现一个国际象棋引擎有多难。是否已经有开源实现?

似乎您需要针对给定的棋盘星座的评分功能,以及探索几个可能的未来棋盘星座的非常快速的方法。探索所有可能的未来走势当然是不可能的,因此人们可以贪婪地追随最有希望的走势,或者使用模拟退火等近似技术来概率地追随可能的走势。

你认为这是否在机器学习研究生项目的范围内——假设有一个学生可以使用的开源实现,它会做一些基本的事情,比如返回给定图形的下一个可能动作?大概太难了吧?

让不同的团队在国际象棋引擎上工作,然后让他们互相对战,这将是一个有趣的项目......

0 投票
3 回答
4702 浏览

.net - 国际象棋移动验证库

是否有任何库可用于在 .NET 中验证国际象棋移动和模拟游戏?如果该库可以理解代数记法中的移动并提供简单的 API 用于移动,那就太好了。例如,game.Move("E2","E4") 等。在第二种情况下,库应该能够为移动生成代数符号。我不希望它移动或下棋等,只是一个用于游戏验证和游戏模拟的库。有链接吗?

0 投票
4 回答
1158 浏览

command-line - 对新项目的建议 - 两台 Ubuntu 机器之间的命令行国际象棋游戏

我是一名 CS 学生,我很想制作一个命令行国际象棋游戏。理想情况下,我可以将我的动作直接发送给我的对手,只是为了好玩,我宁愿使用 ASCII 艺术在命令行打印棋盘(无记忆棋)。

我拥有 4 年的计算机科学学位,并且刚刚开始作为 Java 程序员工作。我想回到基础来找点乐子,但我不知道如何开始。

您将建立什么样的联系以及如何建立?你会使用什么语言,在你看来这个项目最困难的地方是什么。

2台linux机器在同一个网络,我可以ping通机器很容易。

干杯,

加夫

编辑

我对可能的方法有什么想法?我可以很容易地用 Java 做到这一点,也许这对我来说是最好的选择。制作一个可执行的 Jar 并从命令行运行它。我只是希望通过脚本语言或类似语言学习一门新语言或技能。例如,我只是对在 Python 中建立连接一无所知。

抱歉,我知道这个问题有点含糊,但我只是在寻找一些指针,没有深入的内容。你会使用什么技术。

0 投票
2 回答
1945 浏览

python - GAE 的国际象棋人工智能

我正在寻找可以在 Google App Engine 上运行的国际象棋 AI。大多数国际象棋 AI 似乎是用 C 语言编写的,因此无法在 GAE 上运行。它需要足够强大才能击败休闲玩家,但要足够高效,可以在单个请求(少于 10 秒)内计算出移动。

理想情况下,它将用 Python 编写,以便更轻松地与现有代码集成。

我遇到了一些有前途的项目,但它们看起来并不成熟:

0 投票
3 回答
919 浏览

c - 用于棋盘游戏(国际象棋或其他)的灵活库或服务器?

我正在寻找可用于试验棋盘游戏的程序或库(主要是国际象棋,但不一定——其他类似复杂的棋盘游戏也可以)。我将测试不同的游戏算法。

这就是我需要的:

  • 如果可能的话,我想让我的程序与 gnuchess 和 crafty 之类的玩家对抗,但也可以对抗它自己和人类玩家;

  • 如果我的播放器程序可以通过 TCP 与“服务器”通信就可以了,但如果它有一个 C 接口(不是 C++,因为那样我必须编写一个包装器)会更好;

  • 我可能想更改游戏规则(棋子的初始位置、棋子数量,甚至移动规则);

  • 灵活(例如,如果库/服务器验证国际象棋移动,那没关系,但我希望这样的功能是可选的,因为我想在一些实验中将其关闭);

  • 免费(我可能想进入源代码并可能更改一些位)。

如果有人能指出我这样的图书馆/服务器,我将不胜感激......

非常感谢!

PS:我想包括一个“棋盘游戏”标签,但似乎我需要更多的声誉......

PS 2:我想接受两个答案(它们是互补的)。遗憾的是 StackOverflow 不允许这样做。

0 投票
5 回答
4337 浏览

c# - C# 3D 国际象棋游戏

嘿,所以我想创建一个 3D 国际象棋游戏(3D 玻璃碎片),就像 Vista 提供的国际象棋游戏 Chess Titans,但我不知道如何开始。我知道我应该使用 Blender 进行建模,使用 Visual Studios 进行编程。您能否提供可以帮助我入门的综合教程的链接?谢谢

0 投票
4 回答
15937 浏览

artificial-intelligence - 编写国际象棋 AI

我正在寻找尝试编写国际象棋AI。我可以在 .NET 框架(或者甚至是用 Lua 编写的国际象棋程序)上使用一些东西,让我编写和测试国际象棋 AI,而不必担心实际制作国际象棋游戏吗?

0 投票
1 回答
1794 浏览

c# - XNA 中的国际象棋逻辑

因此,我使用 XNA 库创建了一个 2D 国际象棋游戏板,上面包含所有棋子。但是,如果我单击它们,我不知道如何使它们移动。这就是我对其中一件骑士作品的逻辑所拥有的。

我如何选择这件作品然后让它移动?