0
我有一款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。
我猜他们已经被打乱那'字母[]'是一个字母数组? – 2013-04-10 16:02:09
不,字母[]是我的Letter类的数组。我会后的变数太多: \t'私人最终诠释MAX_LETTERS = 18;'\t \t'私信[] =字母新信函[26];' \t'私信[] lettersToUse =新函[MAX_LETTERS] ;' – LokiSinclair 2013-04-10 16:05:10
添加变量的问题,而不是作为评论 – 2013-04-10 16:09:19