Jump to content
Peaceandlove

Gerar Letras aleatorias

Recommended Posts

Peaceandlove

Boa noite,

estou a fazer um jogo em java e preciso que o programa me de letras aleatorias entre "A, E e U"

por exemplo: aeeuu, aeauu, ueeau.

Se pudessem ajudar agradecia

Share this post


Link to post
Share on other sites
AngusYoung

Usas o java.util.Random (não tenho a certeza se é bem isso, mas usa o Google) e fazes gerar um número aleatório de 0 a 2. Depois, se for 0 passas para A, se for 1 passas para E e se for 2 passas para U.


Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Share this post


Link to post
Share on other sites
Peaceandlove

Isso tentei eu, mas não resulta porque isso é um jogo do tipo bejeweld, ou seja, as duas primeiras linhas vão estar preenchidas com essas letras, e não convém ser iguais, passo a explicar.Tenho uma matriz de 10 por 5 e o objectivo do jogo é juntar as mesmas letras , ou seja aaa e a linha desaparece, so que não posso ter as letras iguais as que tenho nas linhas, tem de ser diferentes.

Eu podias criar vários métodos com o que disseste só que não sei se aceitam ...

Share this post


Link to post
Share on other sites
KTachyon

Queres uma solução simples para não teres muito trabalho?

É normal que se só fores utilizar um random para gerar letras aleatórias, com 3 letras, tens, ~17% de probabilidade que, ao gerares 3 letras consecutivas, estas sejam todas iguais. Se queres evitar que isto aconteça, arranjas um meio que impeça que isso aconteça, como utilizar uma comparação com as letras geradas anteriormente, ou tendo já duas letras iguais, alteras o random para que seleccione apenas uma das outras duas. Não tem nada que saber.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
AngusYoung

Não tem nada que saber.

Para alguém como tu  ;)


Isto porque, saber a composicão do granito, os estágios da evolucão psicológica humana ou as deambulacões do Sartre não indicam puto sobre as competências de alguém num determinado campo específico e muito menos sobre o que as pessoas gostam de fazer ou a sua capacidade de aprendizagem. - bubulindo, 15 de Fevereiro de 2013 - 02:01

Share this post


Link to post
Share on other sites
HappyHippyHippo

nesse tipo de jogo é normal isso acontecer (aparecem peças que fazem "pontos")

o maneira mais simples é:

caso seja o tabuleiro inicial:

- preencher as casas da forma normal

- verificar situações de "pontos"

- se existir

  - efectuar a operação convencional de retirar as peças adicionando a cabeça

  - voltar a verificar situações de "pontos"

(pode degenerar numa situação demorada - muitas situações a resolver / uma solução para minurar é incrementar o número de tipos de peças)

caso seja no meio do jogo:

- caso normal no jogo, sem nada a fazer


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
Peaceandlove

Pois isso é a ideia que tenho para fazer o código, o problema é como fazer o código por exemplo para suprimir as letras iguais B)

Share this post


Link to post
Share on other sites
chalkos

podes tentar arranjar um conjunto com as letras todas (por exemplo, um arraylist, já que a lista não será muito grande)

depois fazer um random de 0 até ao tamanho do arraylist - 1.

e a letra que metes é a que está na posição que o random te deu.

depois removes essa posição do array.

e fazes isso para cada linha.

parece-me que é isso que queres...


"O principal problema das citações na internet é que nem sempre as podes tomar como verídicas" - Abraham Lincoln, 1864

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.