存储邪恶的刽子手程序的数据

时间:2012-06-28 22:28:55

标签: java data-structures set

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

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

例如

假设用户选择了3个字母的单词,为了这个例子,我们会说英语中只有以下3个字母单词;狗雾和狐狸猫不是公共汽车

如果用户猜到“o”,程序将编译一个单词列表,其中没有“o”,我将对此列表进行排序,设置一组将“和”另一个“总线”和另一个“猫“

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

2 个答案:

答案 0 :(得分:2)

作为建议,请考虑有效支持所需的操作。您需要能够接受一个单词,将其映射到其单词族,并从那里将该单词分发到与该族匹配的单词集合中。为此,请考虑使用类似Map之类的内容,将单词family(表示您希望表示)与匹配该族的单词集合相关联。您可以通过多种方式表示集合 - SetList等。这样,您可以轻松获取字符串,将其转换为单词系列,然后映射单词系列这个家庭中所有单词的集合。

希望这有帮助!

答案 1 :(得分:1)

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

  1. 您有一组指定长度的单词。
  2. 每次用户指定一个字符时,您希望从当前集中删除所有包含该字符的单词,而不会清空该集。
  3. 可选地,更加邪恶:

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

      如果是这样,我会考虑考虑你将要做的事情。

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

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

      所以,正如你所看到的,解决这个问题的天真方法是迭代集合中的所有单词,并遍历字符以查看它是否包含指定的字符。

      更好的方法是将单词包含在它们包含的字符中。祝你好运!