将单词嵌入数组中。布尔问题。

时间:2015-04-28 13:06:50

标签: c arrays boolean

好的,所以我一直在努力制作一个Word Search游戏,并且需要将单词嵌入到网格中。单词不能重叠或偏离边缘。

我设法生成一个大致类似的网格:

           .........X
           .........X
           .........X
           .........X
           .........X
           .........X
           xxxxxxxxxx

我试图使得如果数组中的游戏是“。”,那么我的单词中的字符可以替换点,如果它不是点,那么它会打破循环。

但是,如果我使用单词dog并将我的数组设置为7,即可获得:

            .......DOG
            .........X
            .........X
            .........X etc...

这是我用于在水平方向嵌入单词的函数的代码。

    int horizontal(char *myArray, char * word)
    {
         int length = strlen(word);
         int rand = 17;//rand_num_gen();
         printf("i = %d\n", rand);
         int a;
         int lettercount = 0;

         for(a=0; a < (length); a++)
         {
               if(myArray[rand] = '.')
               {
                  myArray[rand] = word[a];
                  rand++; 
                  lettercount++;
               }
               else
               {
                  break;
               }
         }
         printf("lettercount = %d\n", lettercount);
         printf("length = %d\n", length);
         int success = 0;
         if(lettercount == length)
         {
              success = 1;     
         } 
         return success; 

    }

有谁可以指出哪里出错了,可能会给我一些有用的东西?

1 个答案:

答案 0 :(得分:3)

if(myArray[rand] = '.')

此行将myArray[rand]的值指定为'.'。如果,正如我所料,您希望比较值,则需要==运算符。