0

我想实现一个纸牌游戏。我知道约束编程。但我认为它用于寻找问题的“解决方案”。特别是当有无数种可能的解决方案时。

就我而言,游戏有很多规则,但没有那么多。解决方案将是玩家可能采取的行动(有结果,我认为这是另一个问题)。其他操作根本不会被允许。

例如:

一局一局

  1. 规则 1:较高的点卡(数字)赢得另一张点卡
  2. 规则 2:一张脸较低的牌赢另一张

一轮多场比赛

  1. 规则 3:如果玩家 A 出示点卡,玩家 B 出示面卡,则为平局,需要再玩一次。

...

这些是基本规则,还有更多。我更擅长 Python、JavaScript 或 Java。

我真的不想用很多嵌入的 if-else 条件来解决这个问题。

我学习了语言理论,这似乎很合适。如果您不知道它是什么,您可以根据表达式(如正则表达式)在语言中设置可能的“单词”。

例如:

(aaa(b)+)*

产量

aaa,aaab,aaabb,aaa,aaabbbb,...

将这些术语视为可能的操作,以这种方式实现游戏是可能的。但我会实现这样的解析器或从 String 到 Actions 的映射。这一切都是可能的,并不难。但是这种编程方式有没有可能(可能更容易)的实现?

我遇到了 Google 的 Or-tools,但它是一个约束求解器。它可以工作,但我不确定,我会在上面投入更多时间。

4

0 回答 0