问题标签 [boggle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在 python 中存储和使用大型文本文件的最佳方法
我正在为我用 python 编写的 boggle-clone 创建一个网络服务器,它接受用户,解决板子,并对玩家输入进行评分。我使用的字典文件是 1.8MB(ENABLE2K 字典),我需要它可用于多个游戏求解器类。现在,我拥有它,以便每个类逐行遍历文件并生成一个哈希表(关联数组),但是我实例化的求解器类越多,占用的内存就越多。
我想做的是一次导入字典文件,然后在需要时将其传递给每个求解器实例。但是最好的方法是什么?我应该在全局空间中导入字典,然后在求解器类中以 globals()['dictionary'] 的形式访问它吗?或者我应该导入字典然后将它作为参数传递给类构造函数?其中一个比另一个更好吗?有第三种选择吗?
php - PHP 拼字游戏
对于一个项目,我正在考虑用 PHP 构建一个 Boggle 类型的游戏。我在网上看到的所有解决方案都使用了某种基于树或散列的方法。
PHP 中是否有类似的数据结构?关于如何处理当前字母板上存在哪些单词的任何建议?
algorithm - 如何从字母矩阵中找到可能的单词列表 [Boggle Solver]
最近我一直在我的 iPhone 上玩一个名为 Scramble 的游戏。你们中的一些人可能将这款游戏称为 Boggle。本质上,当游戏开始时,您会得到一个字母矩阵,如下所示:
游戏的目标是找到尽可能多的单词,这些单词可以通过将字母链接在一起形成。您可以从任何字母开始,并且围绕它的所有字母都是公平的游戏,然后一旦您继续下一个字母,围绕该字母的所有字母都是公平的游戏,除了以前使用的任何字母。因此,例如,在上面的网格中,我可以想出单词LOB
、TUX
、SEA
、FAME
等。单词必须至少为 3 个字符,并且不超过 NxN 个字符,在这个游戏中为 16,但在某些实现中可能会有所不同. 虽然这个游戏很有趣而且让人上瘾,但我显然不太擅长它,我想通过制作一个可以给我最好的单词的程序来作弊(单词越长,你得到的分数越多)。
(来源:boggled.org)
不幸的是,我不太擅长算法或其效率等等。我的第一次尝试使用了这样的字典(~2.3MB),并进行了线性搜索,试图将组合与字典条目进行匹配。这需要很长时间才能找到可能的单词,而且由于每轮只有 2 分钟,这根本不够。
我有兴趣看看是否有任何 Stackoverflowers 可以提出更有效的解决方案。我主要在寻找使用 Big 3 Ps 的解决方案:Python、PHP 和 Perl,尽管使用 Java 或 C++ 的任何东西也很酷,因为速度是必不可少的。
当前解决方案:
- 亚当·罗森菲尔德,Python,~20 多岁
- John Fouhy,Python,~3s
- Kent Fredric, Perl, ~1s
- Darius Bacon, Python, ~1s
- rvarcher, VB.NET, ~1s
- Paolo Bergantino, PHP (live link) , ~5s (~2s local)
vb.net - 在 Boggle 板上查找单词的算法
我正在 vb .net 中构建一个 boggle 游戏。现在,我的骰子是二维数组(0,0 0,1)等......
我想要它做的是,当我输入这个词时,它使用突出显示它的button(x,y).doclick
sub 在板上突出显示它。现在我的实现找到了第一个字母,然后继续尝试每个字母,直到它满足 8 个角条件(即它与最后一个相邻),但这并不总是有效。如果板上有 2 个“G”,而我想要底部的一个,这将不起作用。有人可以给我一个需要发生什么的伪代码示例。我被难住了将近 6 个小时,试图弄清楚这一点。谢谢
python - 从 python 中的随机输入字母中查找单词。已经有什么算法可以使用/编码?
我正在尝试在这里编写一个像这样的单词解扰器,并且想知道我应该使用什么算法来实现它。此外,如果有人能找到现有的代码,那也很好。基本上,该功能将像一个 boggle 求解器,但不是矩阵,只是从字符串中搜索所有单词的可能性。我已经有足够的字典了。
我打算在 python 或 ruby 中执行此操作。提前感谢您的帮助!
java - 当前实例上的java计时器
我有上面的类,它应该在给定的时间长度内执行一个循环,然后调用一个实例方法。本质上,我需要 newGame() 中的循环在当前实例上调用 endGame() 之前运行一分钟左右。但是,使用 Timer 类我不确定如何在当前实例上调用我需要的方法,因为我无法将任何参数传递给 timertasks 运行方法?
有没有一种简单的方法可以做到这一点,还是我以错误的方式去做?(注意:这只是一个控制台项目,没有 GUI)
==========
代码已编辑
根据建议,我已将代码更改为上述代码,它几乎可以按我的预期工作,但是线程似乎仍然没有正确结束。我是while循环会死,控制最终会回到主要方法。有任何想法吗?
python - 如何在拼字游戏中递归检查答案
作为一个练习,我一直在尝试在 python 中构建一个非 GUI boggle 类型的游戏。到目前为止,用户可以输入板尺寸(4x4、5x5 等)。字母“数组”出现,然后用户可以输入他们认为是有效选项的单词。
我想通过使用递归函数检查输入的单词是否有效。在小板上,我的解决方案似乎工作正常。然而,在较大的板上,具有相似开头和多个路径的单词不会注册。我有一种感觉,这是因为如果当前路径在没有找到正确单词的情况下结束,我的函数的最后一部分就无法后退足够远。
这是我到目前为止所拥有的:
我相信至少部分问题在于函数末尾的 try 块。如果单词不太长或者没有太多可能性,它就可以工作。例如,尝试在以下内容中查找 'raws' 将不起作用,即使它存在:
我确信这可以通过一个相当简单的递归函数来完成,但是几个小时后,我迷路了。哦,我宁愿不预先生成所有可能的单词。这样做的目的是使用递归来查找输入的单词。
任何帮助是极大的赞赏!
opencv - 识别图像中的拼字/拼字游戏字母
我有兴趣识别 Boggle 板上的字母,可能使用 openCV。字母都是相同的字体但可以旋转,所以使用标准的文本识别库有点问题。此外,M 和 W 有下划线来区分它们,而 Q 实际上是一个 Qu。我相当有信心可以隔离图像中的单独字母,我只是想知道如何进行识别部分。
java - 优化boggle算法
我正在实现以下boggle 算法:
我想优化它,因为找到所有单词大约需要 2 分半钟。您对优化技术有什么想法吗?
php - 为什么我的 Boggle 求解器会收到警告“缺少参数”?
几年前,有人在他们用 PHP 制作的 Boggle 求解器上发布了一些 PHP 代码。
如何从字母矩阵中找到可能的单词列表 [Boggle Solver]
我一直试图让它工作,但我得到一个错误“警告:find_words() 缺少参数 7”,我已经知道它,因为他似乎忘记将变量传递给函数。我一直在努力让它工作,但我似乎无法弄清楚,其他人可以做到吗?有没有人有一些更高级的东西?也许可以跟踪单词路径的东西?无论如何,如果有人能提供一些很棒的输入。