单词搜索生成器

本文关键字:搜索 单词 | 更新日期: 2023-09-27 18:21:33

我正在用c#编写一个Word搜索谜题,我几乎完成了,只缺少一件事。我有一个char[,]矩阵,我用从txt文件中读取的单词填充它,如果一个单词没有可用的位置,我用随机字母填充剩余的位置。我的问题是,我不知道如何使包含某些字母的单词互相交叉。这是我的单词放置代码:

    private bool PlaceWord(string word, int _row, int _col, int x, int y)
    {
        if(x > 0)
        {
            if (_row + word.Length > row)
                return false;
        }
        if(x < 0)
        {
            if (_row - word.Length < 0)
                return false;
        }
        if(y > 0)
        {
            if (_col + word.Length > col)
                return false;
        }
        if(y < 0)
        {
            if (_col - word.Length < 0)
                return false;
        }
        for(int i = 0; i < word.Length; i++)
        {
            if (matrix[(i * x) + _row, (i * y) + _col] != ' ')
                return false;
        }
        for (int i = 0; i < word.Length; i++)
        {
            matrix[(i * x) + _row, (i * y) + _col] = word[i];
            answers[(i * x) + _row, (i * y) + _col] = word[i];
        }
        return true;
    }

单词搜索生成器

在您的第一个for循环中

if ((matrix[i*x+_row, i*y+_col] != ' ') && (matrix[i*x+_row, i*y+_col] != word[i]))
  return false