好的,所以我一直在努力制作一个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;
}
有谁可以指出哪里出错了,可能会给我一些有用的东西?
答案 0 :(得分:3)
if(myArray[rand] = '.')
此行将myArray[rand]
的值指定为'.'
。如果,正如我所料,您希望比较值,则需要==
运算符。