今年我需要完成我的学士论文,我的任务是创建一个称为跳棋(或草稿)的游戏。它不会成为问题,但我必须使用Mutli-agent方法在NetLogo中编写它。所以我不能使用那些众所周知的算法作为Min-max或alfa-beta修剪。正如我所说的,我必须使用Multi-agent方法,因为在NetLogo中,每个单件都是一个代理,它们可以相互通信。所以我的老师说我,我必须创建一个全新的算法。有人可以给我任何建议或建议如何开始,或描述它应该如何工作?
答案 0 :(得分:4)
您可以从this model获取想法并开始开发自己的想法:
ALBERT LEE MCS1 PD的检查员。 5
这是棋盘游戏的副本。它遵循与常规跳棋相同的规则,但没有双跳,或三跳等。游戏的目标是跳过对手的每一个棋子。跳跃是通过对角跳跃在对手的棋子上完成的。只有一种颜色的板用于移动。玩家轮流移动。在常规移动中,当您不想跳过对手时,允许移动一个对角线空间。当安装板时,红色片只能朝向黑色片的方向移动,而黑色片同样如此。然而,当任何一个玩家的棋子到达棋盘的另一端时,他们就会变成一个国王,被称为“王者”,而且任何颜色的王都可以向前和向后移动。同一个对角线空间规则适用,除非国王跳跃,它也可以向前或向后跳跃。
在我的程序中,移动有两个步骤。首先,用鼠标选择该部分。然后,选择要将片段移动到的片。如果您选择一件并选择另一件而不是贴片,而不是将最初选择的件移动到该新件,则新件将被选中,并且应用相同的移动规则。要跳过一块,选择你要跳的部分,如果要跳的部分是“可跳跃的”,这意味着你想要跳的部分是一个空格,对角线上有你要跳的部分,那个方向的下一个补丁没有碎片。选择要跳转的棋子后,选择没有棋子的补丁。 “跳跃”的棋子离开了棋盘。