2016-01-28 33 views
0

所以,我正在研究一个单词发现风格的游戏,而我现在如何生成新的字母只是不削减它。我的意思是它的作品,但它似乎产生不经常使用的字母(见https://en.wikipedia.org/wiki/Letter_frequency)或生成太多的1个字母。字找风格游戏,分布式字母生成算法

现在我只是使用一个基于随机数的模型,并根据它来选择,它再次起作用但并不理想。

所以我有2箱子

1)在启动时,就会产生板与被随机生成的25个字母。

2)当一个字被发现,我删除从董事会的信,并产生新的字母来代替它们

是否有可能基于https://en.wikipedia.org/wiki/Letter_frequency产生最文字的字母已知算法?

我可以对现有字母做一些循环,并做很多循环,字母计数。并基于此确定要生成的字母。

我宁愿(在这一点上却没有必要的)一些不那么疯狂,也能够有可能将其用于其他语言

任何指针将不胜感激!

+0

我已经理解了这两种情况,但是到底你想要做什么? –

+0

好吧,bascially试图创建某种算法,将确定接下来要抓的字母,它是否需要是元音,普通字母或Z,V,W等字母。对不起,我应该更加清楚。 – Sherdog

+0

生成新字母后,您的目标是什么?你知道可能的单词数量尽可能大吗?如果不是,究竟是什么? – svs

回答

1

您可以根据频率创建一个字母池,例如Scrabble英文字母的98个瓷砖。

当您填充您的网格时,您从池中删除选取的字母并将它们放在网格中。当玩家从网格中选择一个有效的单词时,做相反的事情:从板上取下字母并将它们放回池中。然后画出新的字母填补空白。

如果您想用某些现有词语预先填充网格以让玩家开始玩,您还应该从游泳池中挑选字母。

您可以使用一个简单的数组作为池。当你删除一个随机字母时,通过把最后一个元素放在pick元素所在的位置来缩短数组。当你放回元素时,只需将它们追加到数组的末尾即可。

+0

有趣的是,我没有想过使用Scrabble字母池,这是一个好主意。我将不得不尝试一下,看看它是如何工作的。谢谢! – Sherdog