我正在尝试重新创建这个conquerclub(Risk-like)游戏:

http://conquerclub.barrycarter.info/ONEOFF/7460216.html

换句话说,我想知道谁在每个时间点都拥有每个领土
及时,以及他们在那片领土上有多少部队。我的主要
信息源是游戏日志。笔记:

%它不在游戏日志中,但是所有领土都由3名士兵组成。

%由于我们在游戏结束时就知道了地域拥有者,并且
游戏日志会提及所有所有者的更改,从而确定区域所有者
任何时间点都很容易。

面临的挑战是找到一个
给定时间。

%游戏日志提供了有关部队部署,加固,
和征服。

%但是,游戏日志不完整。假设区域X攻击
Y领土未成功,但两个领土在
处理。游戏日志不会提及此。

%通常来说,不可能找到确切的数字
在特定时间在某个领土上的部队,因此我正在寻找射程。

我尝试将数据作为一系列的数据提供给Mathematica
不等式,但是随着手册的警告,计算时间增加
与不平等的数量成指数关系。即使有一个相当
少数不平等现象将被搁置。另外,我不相信
Mathematica是这里的正确工具。

% 有什么想法吗?另一个示例是:
http://conquerclub.barrycarter.info/ONEOFF/7562013.html

%我知道http://userscripts.org/scripts/show/83035,但仅跟踪\
业主,而不是部队人数。

最佳答案

您可以利用Prolog的约束编程(特别是CLP/FD)。这将需要您在Prolog中对所有规则进行编码,这可能是一项艰巨的任务。但是,Prolog可以然后向您显示所有可能的有效(在编码规则方面为合法)玩这种游戏的方式,或者仅显示可能值的范围。

同样,尽管Prolog中的CLP / FD有时非常快,但可能很难使用它来快速解决问题。大多数免费的求解器都有许多怪癖。

同样,我认为这是一项艰巨的任务,如果您以前没有在Prolog中进行编程,那么这甚至会更大。但是我很确定这会给您答案。

关于math - 根据不完整的日志文件部分重新创建类似风险的游戏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3799748/

10-15 00:07
查看更多