NetLogo-跳棋(草图)

NetLogo-跳棋(草图),netlogo,Netlogo,今年我需要完成我的学士学位论文,我的任务是创建一个称为跳棋(或Drughts)的游戏。这不会是一个问题,但我必须使用多代理方法在NetLogo中编写它。所以我不能使用那些著名的算法,如Min-max或alfa-beta修剪。正如我所说的,我必须使用多代理方法,因为在NetLogo中,每一块都是代理,它们可以相互通信。所以正如我的老师告诉我的,我必须创建一个全新的算法。有没有人能给我一些关于如何开始的建议或建议,或者描述一下它应该如何工作 您可以从以下方面获得想法并开始开发自己的: 艾伯特·李·麦

今年我需要完成我的学士学位论文,我的任务是创建一个称为跳棋(或Drughts)的游戏。这不会是一个问题,但我必须使用多代理方法在NetLogo中编写它。所以我不能使用那些著名的算法,如Min-max或alfa-beta修剪。正如我所说的,我必须使用多代理方法,因为在NetLogo中,每一块都是代理,它们可以相互通信。所以正如我的老师告诉我的,我必须创建一个全新的算法。有没有人能给我一些关于如何开始的建议或建议,或者描述一下它应该如何工作

您可以从以下方面获得想法并开始开发自己的:

艾伯特·李·麦克斯一警局的跳棋。五,

这是棋盘游戏跳棋。它遵循与普通跳棋相同的规则,但没有双跳或三跳等。游戏的目标是跳下对手的每一个棋子。跳跃棋子是通过对角跳跃,越过对手的棋子来完成的。只有一种颜色的板用于移动。玩家轮流移动。在常规移动中,当你不想跳过对手的棋子时,允许移动一个对角空格。设置板时,红色块只能朝着黑色块的方向移动,黑色块也可以这样做。然而,当任一玩家的棋子到达棋盘的另一端时,它们就变成了国王,称为“国王”,并且任一颜色国王都可以前后移动。同样的一对角空格规则也适用,除非国王跳跃,它也可以向前或向后跳跃

在我的程序中,移动有两个步骤。首先,用鼠标选择工件。然后,选择要将工件移动到的面片。如果选择一个工件并选择另一个工件而不是面片,而不是将最初选择的工件移动到该新工件,则新工件将变为选中,并且相同的移动规则适用。要跳转一个片段,请选择要跳转的片段,如果要跳转的片段是“可跳转的”,这意味着要跳转的片段与要跳转的片段成对角线,并且该方向的下一个补丁没有片段。选择要跳转的块后,选择没有块的补丁。“跳跃”的部分离开了棋盘


对于堆栈溢出来说,这个问题可能过于开放,这通常是关于实际代码的特定问题。如果你在这里的问题被关闭或没有得到回答,请尝试雅虎上的netlogo用户组。嗨,Marzy,非常感谢你的帖子和模型,我已经完成了对两个人类玩家的检查,但我的目标和最大的问题是创建一个计算机玩家,即AI。正如我所说,我不能使用MinMax或AlfaBeta修剪算法,这使我无法完成这项任务:/