我最近一直在玩Letterpress.
游戏的目的是通过在棋盘上用字母制作单词来尽可能多地获得蓝色瓷砖.当你弹奏你的单词时,除非字母被红色瓷砖包围,否则组成单词的字母将变为蓝色.
常规的Letterpress板看起来像这样:

我意识到棋盘上的字母必须用某种规则生成,否则用一些棋盘玩游戏真的很难.我只能想到必须有多个元音的规则.我想知道是否还有其他规则.
另外,我想知道这是否与生成Boggle骰子类似.
我决定根据 user166390 的建议编写一个解决方案。您看到的频率是针对英语的,取自维基百科。运行该程序几次并观察结果,它们对我来说看起来相当可玩。我一般至少能找到几个四五个字母的单词,而且我什至不太擅长这个游戏!无论如何,这是代码:
#!/usr/bin/env python
from random import random
from bisect import bisect_left
letters = [c for c in "abcdefghijklmnopqrstuvwxyz"]
frequencies = [8.167, 1.492, 2.782, 4.253, 12.702, 2.228, 2.015, 6.094, 6.966,
0.153, 0.772, 4.025, 2.406, 6.749, 7.507, 1.929, 0.095, 5.987,
6.327, 9.056, 2.758, 0.978, 2.360, 0.150, 1.974, 0.074]
cumulative_frequencies = [sum(frequencies[0:i+1]) for i in xrange(len(frequencies))]
for i in xrange(5):
line = ""
for j in xrange(5):
line += letters[bisect_left(cumulative_frequencies, random() * cumulative_frequencies[-1])] + " "
print line
Run Code Online (Sandbox Code Playgroud)
这个想法是,对于要生成的每个字母,使用轮盘赌轮算法以与给定频率成比例的概率随机选择它。