gpt4 book ai didi

java - 建模异步类游戏环境

转载 作者:行者123 更新时间:2023-11-30 09:45:05 25 4
gpt4 key购买 nike

这个想法是为代理建立一个环境模型。在最基本的情况下,它看起来像这样:

  1. 系统要求代理进行下一步操作
  2. 代理响应(例如“向左移动!”)
  3. 系统将代理移动到适当的状态

但是,我无法以异步方式(使用线程等)实现它。

目前我的系统是这样的:

void Start(){
while(true && !gameOver){
askAgent()
moveAgent()

if(agentState == terminalState){
gameOver = True;
}

}
}

很明显,这会阻塞正在运行的线程。(更尴尬的是我正在使用 OSGi,所以任何一个包都不应该占用所有的处理时间!)

此外,我希望系统对环境中出现的新代理使用react,并与它们互动(我的运行时 OSGi 已经具备在系统中出现或消失时通知我的功能),例如:

void setAgent(Agent agent){
system.addAgentToEnvironment(agent);
system.simulateAgent(agent);
}

而不是直接从 main 运行...

我知道这非常令人困惑,我什至不确定我是否正确地提出了问题 - 因此非常感谢我可以查看的有关架构或方法的任何提示。

最佳答案

您肯定需要一些数据保护(可能在代理主列表上,以及对每个代理及其数据的某种保护)。

除此之外,我会遵循这种模式:

while (waiting for events)
spawn thread to respond to event // add agent, calculate and perform move, etc.
// even better would be to enqueue the event into a thread pool

if (terminal)
break // end game

HTH

关于java - 建模异步类游戏环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7603653/

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