c# - 填字游戏单词(横跨和向下)存储?

标签 c# data-structures storage transpose crossword

例如,如果我创建一个填字游戏,我想将填写的单词存储在 9 x 9 的网格中。 我考虑了一个二维数组,但只能存储 Across 单词而不是 Down 单词。 即使每个单词都存储为一个对象(指示方向),我也不知道哪些单词与哪些单词相交。 有人可以指出我正确的方向吗?

最佳答案

保存方向(上/下/左/右)和起始坐标。

例如

 First
    e
    c
    o
    n
third

first 将被放置在 1,0 处;第二个将下降到 5,0;第三个在左边 0,6。

你也可以将字符保存到二维数组中,这个特定的例子是:

[
  [null, 'f','i', 'r', 's', 't'],
  [null, null, null, null, 'e', null ],
  [null, null, null, null, 'c', null ],
  [null, null, null, null, 'o', null ],
  [null, null, null, null, 'n', null ],
  ['t', 'h', 'i', 'r', 'd', null ]
]

第一种保存方式为您提供了拥有单词并知道它们的起点的优势,但它并不强制它遵守纵横字谜格式(例如,很难知道哪些字符应该相同,等等)。第二种方式强制执行,但更难辨认单词。也许将两者结合起来?

关于c# - 填字游戏单词(横跨和向下)存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15125919/

相关文章:

python - 有理由地运行以下功能的复杂性

c# - 我怎样才能做空?

c# - Entity Framework 6.1 Code First 迁移错误 : EntityType 'IdentityUserRole' has no key defined

c# - 图数据结构 C# 的问题

mysql - MySQL 中的 BLOB 数据管理在更新为 null 期间?

c - 以最有效的方式读取 CGI POST 数据

azure - 如何在 Azure Synapse 中使用 PySpark 将文件装载为文件对象

c# - 此 Asp.Net WebAPI Controller 方法是否正确地从应用程序池中换出?

c# - 使用正则表达式时出现解析错误

data-structures - 使用动态和非唯一键存储大量数据的最佳数据结构?