Jump to content
polska

Jogo da memória - geração de tabuleiro

Recommended Posts

polska

Boas pessoal, tenho que implementar duas classes para dois jogos diferentes, e depois tenho que fazer o respectivo uso das classes.. Uma das classes é para o jogo da memória, para quem não sabe o que é: link

Bem, no meu construtor eu pretendo chamar um método que me gere um tabuleiro com combinações novas.. O tabuleiro é um array bidimensional 6x6 , de inteiros.. A minha pergunta é qual a maneira mais eficiente para fazer este método ? Eu tenho definido gerar apenas números aleatórios de 1 a 36 (6x6), e sei gerar os números, o meu problema é depois com a repetição de números aleatórios, e como distribui-los também aleatoriamente na matriz, o que vai implicar também posições repetidas e etc... alguma ajuda ? :D


Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.

Share this post


Link to post
Share on other sites
HappyHippyHippo

antes do mais, não deverias popular a matriz com números aleatórios.

o que deverias fazer é criar uma matriz com os números bem definidos (dois de cada) e depois baralhar tudo


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

Share this post


Link to post
Share on other sites
polska

antes do mais, não deverias popular a matriz com números aleatórios.

o que deverias fazer é criar uma matriz com os números bem definidos (dois de cada) e depois baralhar tudo

Hum, entendo.. Não sei se será da mesma maneira que tu pensas, mas então assim bastaria-me percorrer cada posição da matriz, e gerar um aleatório para coluna e outro para linha, e trocar as variáveis em questão.. No final certamente que não encontraria uma matriz igual, mas achas esta maneira engenhosa?

Edited by polska

Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.

Share this post


Link to post
Share on other sites
polska

Para baralhar o tabuleiro, faço dois ciclos for encadeados para percorrer a matriz do tabuleiro, e para cada posição (i,j) gero dois números aleatórios, uma linha e coluna (x,y), e troco o valor de (i,j) por (x,y) .. No final encontro uma matriz baralhada.. Penso que será uma maneira correcta de fazer isto certo?

Edited by polska

Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.

Share this post


Link to post
Share on other sites
pmg

Penso que será uma maneira correcta de fazer isto certo?

Sim, mas lembra-te de permitir a troca dum elemento com ele próprio, senão diminuis a "aleatoriedade" do processo.


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites
polska

Sim, mas lembra-te de permitir a troca dum elemento com ele próprio, senão diminuis a "aleatoriedade" do processo.

Eu não defini condições nenhumas no processo, troca com qualquer linha,coluna gerada :)

ou então podes fazer isto : http://www.portugal-a-programar.pt/topic/57964-sudoku/#entry488766

que não é mais do que baralhar uma matriz

Nem me lembrei disso! Por acaso na altura segui o tópico e também decidi fazer o meu programa :P .. Porém agora já fiz a outra solução, vou deixar, funciona 5* para a necessidade :)

Edited by polska

Corrige um sábio e ele mais sábio ficará. Corrige um ignorante e um inimigo ganharás.

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.