【问题标题】:Embed words into array. Boolean issue.将单词嵌入数组。布尔问题。
【发布时间】:2015-07-07 08:42:20
【问题描述】:

好吧,我一直在尝试制作一个单词搜索游戏,并且需要将单词嵌入到网格中。单词不能重叠或偏离边缘。

我设法生成了一个大致如下的网格:

           .........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; 

    }

谁能指出我哪里出错并可能给我一些有用的东西?

【问题讨论】:

  • 我不会尝试理解你的代码,但if(myArray[rand] = '.') 应该是if(myArray[rand] == '.')

标签: c arrays boolean


【解决方案1】:
if(myArray[rand] = '.')

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

【讨论】:

  • 啊,我不知道我怎么能忽略这一点!谢谢! :)
  • 您点击答案旁边的绿色复选标记就是我需要的全部感谢:)
  • 显然只需要等待 3 分钟 :)
猜你喜欢
  • 2019-10-06
  • 2011-10-02
  • 1970-01-01
  • 2011-08-06
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 2019-02-23
  • 2012-06-03
相关资源
最近更新 更多