gpt4 book ai didi

java - 有没有办法弥合给定代码和实现之间的差异?

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:46 24 4
gpt4 key购买 nike

在贪吃蛇游戏中,游戏模型不支持我想要使用的实现。

我正在参加一场友谊赛,看谁能为贪吃蛇游戏编写最好的 AI。游戏模型是给定的,我们无法改变其中的任何内容。我想实现一个 A* 寻路人工智能。问题在于游戏中坐标的编写方式不支持此解决方案。我想要使​​用的节点如下例所示。

public final class Coordinate {

private final int x;
private final int y;
}

public class Node {

private int aStarValueG;
private int aStarValueF;
private int aStarValueH;
private int coordinateX;
private int coordinateY;
private boolean isBlocked;
private Node parent;
}

我正在寻找一种方法来弥合这两个类之间的差异。我希望我的人工智能能够通过节点与坐标进行通信,反之亦然。我熟悉设计模式,我觉得它们是这个问题的解决方案,但我不知道如何解决。我也愿意接受任何其他建议。谢谢。

最佳答案

根据您所写的内容,我认为您的意思是您希望节点和坐标实例都能够使用?好吧,使用模板方法(设计模式),通过让两个类都实现某种接口(interface),并且您的算法应该使用该接口(interface)中的方法。如果您的算法无法支持这一点(由于运行时更改等),您可能需要研究一些其他可变性模式:策略、状态、桥接等。

关于java - 有没有办法弥合给定代码和实现之间的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55444986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com