我正在用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;
}
答案 0 :(得分:0)
在你的第一个for循环中
if ((matrix[i*x+_row, i*y+_col] != ' ') && (matrix[i*x+_row, i*y+_col] != word[i]))
return false