例如,如果我创建一个填字游戏,我想将填写的单词存储在 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/