我想用Visual Basic创建一个Word Search游戏?我已经通过创建网格(10x10)启动了它。但是,我不知道如何正确插入用户将搜索的单词。
在这里查看我所做的以及代码。10x10 grid
我可以看到,我使用Paint Event处理程序创建了网格。
我有一个文本文件,其中包含用户将搜索的所有字词。使用VB我打开并读取所有行并将单词放在一个数组中(图中未显示)。
我希望将这些单词随机插入网格中。但我不知道怎么办?
非常感谢任何帮助。谢谢!
答案 0 :(得分:1)
在这个阶段,视觉网格有点分散注意力。专注于将字符串列表转换为nxn二维字符串数组。我会写一个子,给定一个单词列表和一个维度,返回一个填充数组(如果可能的话)。
自然选择是一种回溯算法,它试图将单词随机地放入一个部分填充的数组中。对于每个新单词,生成所有有效位置的集合,然后随机选择其中一个位置。如果没有有效位置 - 回溯,删除最近放置的单词并将其放在其他位置。首先按照长度递减的顺序对要放置的单词列表进行排序可能会有所帮助,因为将较小的单词放入部分填充的数组中会比较大的单词更容易。当约束较少时放置较大的单词将减少所需的反向跟踪量。
当放置了所有单词后,随机填写数组的其余部分。