问题标签 [crossword]

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.

0 投票
1 回答
210 浏览

iphone - 在 uitextview 之间移动

经过几次尝试,我决定写,因为我只是不知道如何使它工作。我指的是填字游戏。我所做的是:

但现在我不知道如何在阅读中使用 becomeFirstResponder 进行下一个。我想做一些非常简单的事情,你只能选择第一个文本框。然后检查两个不同的数组,看看结果是否错误,但这已经容易多了。

我应该调用什么方法?例如,如果标签 1 到标签 5 将是一个单词,并标记另一个 7 到 12,那么对于每个字段,我将不得不做不同的事情?如果我要垂直书写?我不知道我是否走在正确的轨道上,有人建议我使用 draw rect 但我会按照这种方式

如果代码有点混乱,我深表歉意。

我不知道该怎么做

0 投票
1 回答
909 浏览

formatting - Prolog - 格式化填字游戏

我写了一个谓词solve_crossword,看起来像这样:

现在,我想编写一个谓词 write_crossword 来格式化填字游戏。如果我有一个单词列表,我希望它看起来像这样:

第 1、3、5 行和第 1、3、5 列应该是单词。

0 投票
1 回答
198 浏览

java - 执行 ImageIcon 缩放的更有效/更快的方法?

我正在开发一个应用程序来创建和编辑填字游戏,如果有帮助,我会在最后发布代码。我目前正在尝试解决这部分代码中出现的问题。

基本上,我正在尝试将 JButtons 的 ImageIcons 调整为 JButtons 的尺寸,然后再调整它们的大小以补偿由于我正在使用的 GridLayout 而导致的大小变化。然而,这段代码的结果并不完全符合我的期望,原因有两个。

  1. 调整所有 225 个方格的大小需要很长时间,我猜这不是典型的填字游戏大小。我确实想稍后制作一个尺寸编辑功能,所以我可能希望能够处理更多的正方形。
  2. 它有时会起作用,但有时放大后正方形会变得很窄,我不确定为什么会这样。

本质上,我需要找到一种更快的方法。关于如何修改/改进它的任何想法?通过绘画方法进行更新会有什么不同吗?

0 投票
1 回答
654 浏览

java - 2D 阵列在正向网格中间打印字母

以上是我在填字游戏板上使单词列表的前两个单词相互交叉的方法。我的问题是:

它获取交叉点前面的字母并将它们向后打印到交叉行上方。我的大脑现在充斥着各种各样的事情,我似乎无法理解如何让字母按正确的顺序排列。我无法附加图像来显示我的问题,但例如垂直单词“throwing”与字母“o”处的水平单词“clowning”相交会在 o 之前打印出“rht”(当它应该打印出“苏”)。有人可以帮忙吗?将不胜感激!

0 投票
2 回答
23624 浏览

algorithm - 给定网格的填字游戏算法

在我写一些关于这个问题的东西之前,我需要让你知道:

  1. 这个问题是我的作业(我有大约 1 周的时间返回工作计划)
  2. 我每天都在解决这个问题大约一周,试图找出自己的解决方案
  3. 我不是要完整的程序;我需要对算法有一个大致的了解

问题:

给定:一个单词表和一个“网格”,例如:

网格(X 表示任何字母):

词汇表:

您必须找到示例“解决方案” - 是否可以将单词列表中的单词放入给定的网格中?如果至少有一种解决方案,请打印一个(以正确者为准)。如果没有 - 打印消息,则表示没有可能的解决方案。例如,有一个解决方案:

我很难写出我已经尝试过的所有东西(因为英语不是我的母语,而且我也有很多想法错误的论文)。

我的天真的算法是这样工作的:

  1. 第一个单词需要适当的长度,因此找到任何(第一个?)具有适当长度的单词(我将使用给定的示例网格和单词列表来演示我的想法):

    /li>
  2. 对于第一个常见的字母(在 2 个单词的交叉处),找到任何(第一个)单词,它适合网格(因此,在适当的位置有适当的长度和常用字母)。如果没有这样的词,回到(1)并取另一个第一个词。在原始示例中,没有以“c”开头的单词,因此我们返回(1)并选择下一个单词(此步骤重复几次,直到我们有“bbbb”作为第一个单词)。现在我们有:

    我们正在寻找以“b”开头的单词,例如:

    /li>
  3. 一般过程:尝试找到成对的单词适合给定网格的单词对。如果没有这样的话,回到上一步并使用另一种组合 - 如果没有这样 - 没有解决方案。

上面的一切都是混乱的,我希望你至少理解问题描述。我写了一个算法草案,但我不确定它是否有效以及如何正确编码(在我的例子中:c++)。此外,在某些情况下(即使在上面的示例中),我们需要找到一个依赖于 2 个或更多其他单词的单词。

也许我只是看不到明显的东西,也许我太愚蠢了,也许......好吧,我真的很努力解决这个问题。我的英语水平不足以准确描述我对这个问题的看法,所以我不能把我所有的笔记都放在这里(我试图描述一个想法,这很难)。信不信由你,我花了很长时间试图找出解决方案,但我几乎一无所获......

如果你能描述一个解决方案,或者给出如何解决这个问题的提示,我将非常感激。

0 投票
1 回答
1363 浏览

c# - 作为 CSP 的填字游戏实施

我用 c# 编写的程序得到一个黑色单元格和空白单元格的网格以及一个单词列表作为输入,它应该将单词放入网格中。我想通过 CSP 算法生成这个填字游戏,我想将单词(交叉或下空格)作为变量,但我不知道如何确定哪些单元格一起是变量。例如,如果我将此矩阵作为输入,0 表示空白单元格,1 表示黑色单元格:

我的程序如何理解有多少变量以及它们的长度是多少?我多次尝试用嵌套的“for”来编写它,但我做不到。我会欣赏任何观点。

0 投票
5 回答
6419 浏览

prolog - PROLOG 中的填字游戏求解器

天堂岛的克里奥尔语有14个字:“放弃”、“鲍鱼”、“字谜”、“船”、“船夫”、“孩子”、“连接”、“优雅”、“增强”、“岛屿”、“男人”、“沙子”、“太阳”和“女人”。

天堂时报发表了这个填字游戏:

天堂时代填字游戏

填字游戏包含 14 个单词中的一些,但没有其他单词。

编写一个 Prolog 程序,从

solution并以这样的方式定义谓词

当且仅当H1, H2, H3, V1, V2, 和V3是天堂岛的有效词,当写入上面给出的网格时形成有效的填字游戏。(例如,的第二个字母H1应该与的第二个字母重合V1。)

使用查询

解决填字游戏。找到填字游戏的所有解决方案。

提示:您可能希望从较小的填字游戏和较不丰富的词典开始。

0 投票
1 回答
96 浏览

dictionary - 我在哪里可以获得 Anagram Dictionary 单词?

嗨,我正在实施一个字谜填字游戏。我需要很多字典单词来实现填字游戏。那么我在哪里可以在互联网上获得大量的字谜词?请帮忙

0 投票
2 回答
1791 浏览

algorithm - 帮助填字游戏算法

这样的问题是在我的大学里给我的,也许有人会有有趣的算法来解决这个问题。在 stackoverflow 上有几个解决方案,但没有一个是好的(因为它们正在循环所有可能性)。

问题:找到所有可能的组合,将给定的单词分配到给定的表格、网格(矩形,见下面的输入)中。应该没有空闲单元格,单词可以从左到右或从上到下定位。单词不能在一行(列)中逐个单词地定位。

输入:矩形区域,示例:

或者

然后输入不同的单词(下一个输入数据)来填充该网格,例如:

数字最初是未知的,但输入到标准输入结束 - 活动 EOF。

输出:如果存在一种解决方案,则在填充网格中输出该可能的解决方案。如果没有解决方案或解决方案数量,则输出 0 或该确切数字。

例子:

(表格输入)

然后的话cdi zobxzst tdxic r sc zro rgfvacd oikf df x c r xvf ogish za sh fc hh h bfkh

(每个作为输入,但这里用空格分隔。)

输出(仅 1 个解决方案):

重要提示:输入的网格仅限于 16 个(!)单元格,字数少于 60 个。我写了一个算法来搜索所有可能的组合,但它对我不起作用,因为执行时间有限(10我猜是秒)并且这个问题无法用粗略的算法解决(例如,15 个网格上的 15 个和大约 60 个!可能或更多可能的排列,可以在普通 2GHz PC 上处理大约 1 天?)。

也许存在另一个独特的解决方案。也许这个问题比编程更数学化,也许可以使用一些左右组合而不是上下组合?或者也许是加权细胞?

PS 我有 3 周的时间来解决这个问题,如果没有,我可以在 3 周后在这里发布解决方案(好消息);)

0 投票
1 回答
1913 浏览

c++ - 给定网格和单词的填字游戏

例如,我有一个填字游戏网格

和单词列表

每个词都必须使用。目标是找到如何解决这个填字游戏的所有变体,在这种情况下有两个变体 -

一些更复杂的填字游戏看起来像这样,例如:

带有20个单词等的列表

我试图创建算法来解决这类问题,但没有成功。有人能帮我吗?