1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda Java Matriz

Discussão em 'Programação' iniciada por Drikes, 8 de Maio de 2012. (Respostas: 2; Visualizações: 1192)

  1. Boas, sou aqui novo no forum e precisava de alguma ajuda, se possivel. Comecei recentemente a programar em Java (utilizando o netbeans) e preciso de fazer um programa que se baseia num jogo de tabuleiro com peças (4 em linha, mais precisamente).
    A primeira duvida é no caso de eu utilizar uma matriz para formar o tabuleiro (10x5), como envio as peças (classe Peças) para dentro da matriz?
    A segunda duvida é relativa a utilizaçao da função "random", pois neste caso as 5 peças terão que ser criadas pelo programa aleatoriamente (dai a ideia da funçao random).


    Desde já, agradecido por possiveis ideis e esclarecimentos :D
     
  2. brunoss

    brunoss Power Member

    Para criar um array bidimensional de um determinado tipo é identico aos tipos primitivos por exemplo farias para um array de inteiros int[][] tabuleiro = new int[10][5];
    Para peças tens que fazer Peca [][] tabuleiro = new Peca[10][5];
    A diferença é que quando inicias um array bidimensional de um tipo primitivo, o seu conteúdo é o valor por omissão (0 ou false)
    E para arrays de objectos é null sendo que para cada posição do tabuleiro tens que criar uma nova instancia.
    Tens duas soluções ou inicias as instancias todas (em principio com o mesmo estado) e vais alterando os seus campos (estado) ou vais adicionado uma a uma (em principio com estados diferentes).
    Seguindo a primeira abordagem tens que criar um ciclo for em que acedes ao tabuleiro posição i,j e criar uma nova instancia para essa posição.

    for(int i = 0; i < tabuleiro.length; ++i)
    for(int j = 0; j < tabuleiro[j].length; ++j)
    tabuleiro[j] ) = new Peca();

    Para fazer um acesso aleatório podes utilizar a classe Random ou o Math.random().
    Se usares a classe Random tens a vida facilitada porque não tens que te preocupar em verificar se os limites batem certo.
     
  3. Percebido, obrigado.
     

Partilhar esta Página