我正在为 Android 开发一款游戏。我已经启动并运行了大部分,但刚刚注意到一个我不能总是复制的错误,这(如你所知)使它成为调试的噩梦!我确定这是一个逻辑问题,但我一直盯着它看太久我看不到它。这是对数组进行排序的代码:
// RANDOMISE UP SOME LETTERS //
for(int i=0; i<MAX_LETTERS; i++)
{
int r = rand.nextInt(25);
// SAVE THIS LETTER //
lettersToUse[i] = letters[r];
}
// NOW MAKE SURE WE COPY IN OUR WORD //
for(int i=0; i<nameLen; i++)
{
int r = rand.nextInt(MAX_LETTERS);
Letter tmpLetter = new Letter();
tmpLetter = letters[lettersInName[i]];
while(in_array(lastElementsUsed, r))
{
r = rand.nextInt(MAX_LETTERS);
}
lastElementsUsed[i] = r;
if(!in_array(lettersToUse, tmpLetter.getLetter()))
{
lettersToUse[r] = tmpLetter;
}
}
我有一个包含 18 个允许字母的数组(在应用程序中)。第一个循环(显然)只是挑选一堆随机字母。然后第二个循环确保要猜测的单词的至少一个字母包含在最后的 18 个字母中。
问题是:大多数时候它工作得完美无缺。以看似随机的间隔,最终的数组将丢失要猜测的单词中的一个字母。它也不总是在这个词中的同一个地方。
谁能看出我的逻辑有问题?如果我错过了拼图中的重要部分,我很乐意提供更多信息和代码!
TIA。