4

我必须编写一个刽子手程序,只有“房子”是邪恶的,并且改变了这个词,所以玩家(希望)输了。

我将在游戏开始时创建一组所有单词,当玩家选择一个字母时,我将创建一个匹配模式的集合,并继续创建最佳子集。

例如

假设用户选择了 3 个字母的单词,为了这个例子,我们会说英语中只有以下 3 个字母的单词;Dog Fog 和 Fox Cat Not Bus

如果用户猜测“o”,程序将编译一个单词列表,其中没有“o”,我将把这个列表排序为一组,一组是“和”,另一组是“巴士”,另一组是“猫”

但是我想知道存储这些集合的最佳方法是什么。

4

2 回答 2

2

作为建议,请考虑您需要有效支持哪些操作。您将需要能够获取一个单词,将其映射到其单词族,然后从那里将单词分配到与该族匹配的单词集合中。为此,请考虑使用类似 a 的东西Map,它将单词 family(以您希望的方式表示)与匹配该族的单词集合相关联。您可以用多种方式表示集合 - 作为 a Set,作为 aList等。这样,您可以轻松地获取字符串,将其转换为单词族,然后将单词族映射到该族中所有单词的集合。

希望这可以帮助!

于 2012-06-28T22:31:57.543 回答
1

让我重新表述一下你在做什么:

  1. 您有一组指定长度的单词。
  2. 每次用户指定一个字符时,您都希望从当前集合中删除所有包含该字符的单词而不清空集合。

可选地,更邪恶:

  1. 如果您的集合现在是空的,您希望从原始单词集中选择在同一索引处具有指定字符的单词的最大子集。

这是你想做的吗?

如果是这样,我会考虑考虑你将要做什么。

给定一个包含大量单词的文本文件。我将首先形成按字符长度划分的单词集列表。

复制该集合后,您可以开始向用户询问特定字符。由于提供了字符,您必须删除集合中包含该字符的单词。

因此,如您所见,解决这个问题的简单方法是遍历集合中的所有单词,并遍历字符以查看它是否包含指定的字符。

更好的方法可能是按单词包含的字符对单词进行分类。祝你好运!

于 2012-07-13T19:41:46.053 回答