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