0

私は C# で Word 検索パズルを書いていますが、ほぼ完了しています。txt ファイルから読み取った単語で埋めた char[,] 行列があり、単語を入れる場所が残っていない場合は、残りの場所をランダムな文字で埋めます。私の問題は、いくつかの文字を含む単語を互いに交差させる方法がわからないことです. 単語配置のコードは次のとおりです。

    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;
    }
4

1 に答える 1

0

最初の for ループで

if ((matrix[i*x+_row, i*y+_col] != ' ') && (matrix[i*x+_row, i*y+_col] != word[i]))
  return false
于 2015-11-11T13:23:07.320 に答える