2016-09-09 9 views
0

私は画面上にランダムなフレーズを表示する必要があるゲームを作っていますが、それらは常に繰り返しています。繰り返しのない文字列のランダム化

どのようにそれらを繰り返しなしでランダムに表示させることができますか?ここで

はコードです:

{ 
            wordList[0] = "Sou Mexicano"; 
            wordList[1] = "Ajuda-me"; 
            wordList[2] = "Salva-me"; 
            wordList[3] = "Vamos Ganhar"; 
            wordList[4] = "Estou sem palavras"; 
            wordList[5] = "Amo Esparguete"; 
            wordList[6] = "Criei o Mundo"; 
            wordList[7] = "Sou Cientista"; 
            wordList[8] = "Carrega o Telemovel"; 
            wordList[9] = "Gosto de Cebolas"; 
            wordList[10] = "Torre de Pisa"; 
            wordList[11] = "Volta a Portugal"; 
            wordList[12] = "Vai Nadar"; 
            wordList[13] = "Andar de Bike"; 
            wordList[14] = "Cortar a Relva"; 
            wordList[15] = "Acender a Luz"; 
            wordList[16] = "Gosto de Animes"; 
            wordList[17] = "Estou Gravida"; 
            wordList[18] = "Nao temos Tempo"; 
            wordList[19] = "Vou tomar Duche"; 
            wordList[20] = "Trabalho em Casa"; 
            wordList[21] = "Gosto de Cenouras"; 
            wordList[22] = "Vamos para a Piscina"; 
            wordList[23] = "Tenho um Cao"; 
            wordList[24] = "Quero Voar"; 
            wordList[25] = "Eles vao passear"; 
            wordList[26] = "Quero Fama"; 
            wordList[27] = "Folha Vermelha"; 
            wordList[28] = "Sai do Facebook"; 
            wordList[29] = "Mete no Instagram"; 
            wordList[30] = "Jantar esta pronto"; 
            wordList[31] = "Temos que conversar"; 
            wordList[32] = "Amanha temos Aulas"; 
            wordList[33] = "Bateria Fraca"; 
            wordList[34] = "Tenho comida"; 
            wordList[35] = "Traga a Conta"; 
            wordList[36] = "Sexta vai ser Feriado"; 
            wordList[37] = "Feito em China"; 
            wordList[38] = "Eu confio nele"; 
            wordList[39] = "Vai ao Skype"; 
            wordList[40] = "Eu amo-te"; 
            wordList[41] = "Liga a Televisao"; 
            wordList[42] = "Olha para ele"; 
            wordList[43] = "Segue-me"; 
            wordList[44] = "Comecem a Contagem"; 
            wordList[45] = "Anda para aqui"; 
            wordList[46] = "Liga-me"; 
            wordList[47] = "Abre o Guarda-Sol"; 
            wordList[48] = "Pare de Insistir"; 
            wordList[49] = "Espera um Bocado"; 
            wordList[50] = "Bom Dia"; 
            wordList[51] = "Tenho boas Noticias"; 
            wordList[52] = "Vamos Terminar"; 
            wordList[53] = "Fumar Mata"; 
            wordList[54] = "Vais Preso"; 
            wordList[55] = "Que Calor"; 
            wordList[56] = "Que Frio"; 
            wordList[57] = "Vou-me Vestir"; 
            wordList[58] = "Eles Pagam"; 
            wordList[59] = "Devolve-me a Carteira"; 
            wordList[60] = "Vai Anoitecer"; 
            wordList[61] = "Vamos fazer Direta"; 
            wordList[62] = "Acabou o Whisky"; 
            wordList[63] = "Vamos jogar LoL"; 
            wordList[64] = "Nao Percebi"; 
            wordList[65] = "Vamos Beber"; 
            wordList[66] = "Porque me Abandonaste"; 
            wordList[67] = "Estou Casado"; 
            wordList[68] = "Acesso Proibido"; 
            wordList[69] = "Mete na Caixa"; 
            wordList[70] = "Fecha a Porta"; 
            wordList[71] = "Tranca o Cofre"; 
            wordList[72] = "Abre a Garagem"; 
            wordList[73] = "Vamos ao Cinema"; 
            wordList[74] = "Queres namorar Comigo"; 
            wordList[75] = "Vou ao Continente"; 
            wordList[76] = "Estou no Jardim"; 
            wordList[77] = "Fui lavar o Carro"; 
            wordList[78] = "Eles jogam Andebol"; 
            wordList[79] = "Vou andar de Skate"; 
            wordList[80] = "Queres jogar FIFA"; 
            wordList[81] = "Vamos ter Teste"; 
            wordList[82] = "Procura na Mochila"; 
            wordList[83] = "Falei com o Diretor"; 
            wordList[84] = "Demorou muito Tempo"; 
            wordList[85] = "Nao gosto de Abacaxi"; 
            wordList[86] = "Viste o Acidente"; 
            wordList[87] = "Caixa Azul"; 
            wordList[88] = "Boneco de Neve"; 
            wordList[89] = "Eu Conduzo"; 
            wordList[90] = "Nao bebas muito"; 
            wordList[91] = "Flor Amarela"; 
            wordList[92] = "Saco Preto"; 
            wordList[93] = "Faz o Comer"; 
            wordList[94] = "Lembra-te de Comer"; 
            wordList[95] = "Onde Estou"; 
            wordList[96] = "Mete ao Contrario"; 
            wordList[97] = "Trabalho num Apartamento"; 
            wordList[98] = "Nao ouvi nada"; 
            wordList[99] = "Estou no Limite"; 
            } 
            Random randomGenerator = new Random(); 
            int randomInt = randomGenerator.nextInt(100); 
            String wordToDisplay = wordList[randomInt]; 
            TextView frase = (TextView) findViewById(R.id.textView7); 
            frase.setText(wordToDisplay); 

申し訳ありませんが、これは重複して質問ですが、私はすでに検索し、このいずれかの解決策が見つかりませんでした。

答えて

0

単語の繰り返し回数を減らす方法を見つけることができました。 コードは次のとおりです。

Random randomGenerator = new Random(); 
int randomInt = randomGenerator.nextInt(100); 
String wordToDisplay = wordList[randomInt]; 
TextView frase = (TextView) findViewById(R.id.textView7); 
frase.setText(wordToDisplay); 
List<String> valores = new ArrayList<String>(); 
valores.add(wordToDisplay); 
Collections.shuffle(valores); 
3

リストのコピーを作成します。コピーをシャッフルします。それらがすべて使用されるまで、シャッフルされた順序でリストからフレーズを選んでください。必要に応じて別のコピーを作ってシャッフルしてください。あなたは同じフレーズを、異なる順序で得るでしょう。 JavaはCollections.shuffle()を持っていますが、Androidについてはわかりません。

+0

AndroidはすべてのJava utilクラスにアクセスできるため、Collectionsクラスをうまく使用することができます。 –

+0

これは実際には良いアイデアです。私はもっ​​と複雑なものを提供しようとしていましたが、あなたのアイデアはシンプルで美しいだけです。 – Amirag

+0

私が探していたときにCollections.shuffle()を見ましたが、試しましたが、 "Collections Shuffle(List )引数には適用されません(int) " –

関連する問題