gpt4 book ai didi

algorithm - 在 Letterpress iOS 游戏中生成字母的合理算法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:41:15 24 4
gpt4 key购买 nike

我一直在玩Letterpress最近很多。

该游戏的目标几乎是通过用棋盘上的字母拼出单词来获得尽可能多的蓝色方 block 。当您打出单词时,组成单词的字母会变成蓝色,除非字母被红色方 block 包围。

普通的凸版打印板看起来像这样:

我意识到棋盘上的字母必须按照某种规则生成,否则有些棋盘很难玩游戏。我只能想到必须有多个元音的规则。我想知道是否还有其他规则。

此外,我想知道这是否类似于生成 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

想法是,对于要生成的每个字母,使用 roulette wheel algorithm以与给定频率成正比的概率随机选择它。

关于algorithm - 在 Letterpress iOS 游戏中生成字母的合理算法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13216281/

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