【发布时间】: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] == '.')。