matrizes e numeros random

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

matrizes e numeros random

Mensagempor XKobra » Segunda Nov 23, 2009 16:17

boas tardes.
eu quero numa matriz por aleatoriamente valores. ate aqui tudo bem.
o meu problema é que as vezes quando o valor é demaziado para baixo na matriz, ele nao expoe o resto dos numeros. tavez seja mais siples de verificar pelo codigo:
Código: Seleccionar todos
      char[][] matriz = new char[10][10];
      
      int numero = 0;
      int cont = 0;
      
      char quatroCanos = '4';
      
      for(int x = 0; x < 10; x++)
      {
         for(int y = 0; y < 10; y++)
         {
            tabuleiro[x][y] = '.';
         }
      }
      
      tabuleiro[(int) meterBarcosRandom(numero) - 1][(int) meterBarcosRandom(numero) - 1] = quatroCanos;
      for(int x = 0; x < tabuleiro.length - 1; x++)
      {
         for(int y = 0; y < tabuleiro[x].length - 1; y++)
         {
            if(tabuleiro[x][y] == quatroCanos && cont < 3)
            {
                  tabuleiro[x + 1][y] = quatroCanos;
                  cont ++;
            }
         }
      }
      
      for(int x = 0; x < 10; x++)
      {
         for(int y = 0; y < 10; y++)
         {
            System.out.print(tabuleiro[x][y]);
            System.out.print(" ");
            if(y == 9)
            {
               System.out.println();
            }
         }
      }
      
   }

o que acontece as vezes co output e isto:
. . . . . . . . . .
. . . 4 . . . . . .
. . . 4 . . . . . .
. . . 4 . . . . . .
. . . 4 . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
(assim esta correcto)
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . 4 . . . . . .
. . . 4 . . . . . .
(esta incorrecto, os outros dois numeros '4' "sairam" da matriz nao sendo assim imprimidos)
o que eu pretendia era evitar estas situaçoes, metendo os numeros para cima do primeiro '4' imprimido, ou entao expolos na horizontal.
alguem tem alguma dica de como fazer isso?
thx
cumps
XKobra
Aprendiz
Aprendiz
 
Mensagens: 28
Registado: Domingo Nov 01, 2009 23:30

Mensagempor vamosAeles » Segunda Nov 23, 2009 22:04

Deixa ver se percebi,

qd poes o '4' aleatoriamente, ele deve imprimir mais 3 '4' nas linhas abaixo para a mesma coluna, mas se chegares ao fim da matriz e ainda não tiver preenchido 4 '4' (porque a linha random inicial fica a menos de 3 posicões do fim), o '4' devem aparecer na linhas acima ? (ie, ficam 4 '4' nas últimos quatro indicies da linha da matriz)??

Cumps,
[[]]
vamosAeles
Membro de Prata
Membro de Prata
 
Mensagens: 206
Registado: Quarta Jan 04, 2006 21:29
Localização: Lisboa/Proença

Mensagempor XKobra » Terça Nov 24, 2009 6:55

vamosAeles Escreveu:Deixa ver se percebi,

qd poes o '4' aleatoriamente, ele deve imprimir mais 3 '4' nas linhas abaixo para a mesma coluna, mas se chegares ao fim da matriz e ainda não tiver preenchido 4 '4' (porque a linha random inicial fica a menos de 3 posicões do fim), o '4' devem aparecer na linhas acima ? (ie, ficam 4 '4' nas últimos quatro indicies da linha da matriz)??

Cumps,
[[]]

antes de mais boas.
e quanto a duvida, isso que disseste esta correcto era exactamente o que eu pretendia fazer, mais tarde dps queria implementar aleatoriamente os 4 '4' para ficarem postos ou na horizontal ou na vertical.
mas isso acho que sei fazer. a minha duvida agora era exactamente essa, quando nao desse para escrever o resto dos '4', ou escrevia.os antes do primeiro '4' imprimido, ou entao, imprimia o primeiro '4' noutra coordenada ate que os restantes '4' coubessem todos na matriz.
alguma dica?
cumps
XKobra
Aprendiz
Aprendiz
 
Mensagens: 28
Registado: Domingo Nov 01, 2009 23:30

Mensagempor XKobra » Terça Nov 24, 2009 8:27

melhor, esquece um bocado a duvida que meti por enquanto que vai encaixar dps na duvida real.
tenho que completar esta class que tem o seguinte metodo:


quando corro isto tenho este output:
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ 3 ~ ~ 4 ~ ~ ~
2 ~ ~ 3 ~ ~ 4 ~ ~ ~
2 ~ ~ 3 ~ ~ 4 ~ ~ ~
~ ~ ~ 5 ~ ~ 4 ~ ~ ~
~ 5 5 5 ~ ~ ~ 1 ~ ~
~ ~ ~ 5 ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
nota: os '5' que ja estao la foram eles que meteram ja, ou seja o porta avioes nao tenho que fazer, so tenho que fazer o 4 canos 3,2 e 1, um de cada.
as vezes os barcos subrepoem-se uns em cima dos outros. como evito isso? tambem, pegando na minha duvida de a pouco queria saber como corrijir o tal erro de os numeros (naquele caso eram os '4') sairem do array.
fora essas coisas gostava que me desses alguma dica de como reduzir o tamanho do meu metodo porque acho que os metodos nao devem ter mais que 10 linhas de codigo nao é? =\ plo menos é o queles dizem...
tens alguma dica?
cumps
Editado pela última vez por XKobra em Terça Nov 24, 2009 13:13, num total de 2 vezes.
XKobra
Aprendiz
Aprendiz
 
Mensagens: 28
Registado: Domingo Nov 01, 2009 23:30

Mensagempor XKobra » Terça Nov 24, 2009 12:38

desculpa la, afinal tem-se que usar os metodos deles para gerar numeros aleatorios estao numa das outras tais classes, eleminei o codigo da citaçao que fiz anterior mas as duvidas sao as mesmas. este e que é o codigo da class que gera numeros aleatorios e a minha que tenho que completar:
Código: Seleccionar todos
import java.util.Random;

public class CoordinateRandomizer {

    private static Random randomizer = new Random();

    public static Coordinate randomCoordinate(final int numberOfLines,
                                              final int numberOfColumns) {
        int line = randomizer.nextInt(numberOfLines);
        int column = randomizer.nextInt(numberOfColumns);

        return new Coordinate(line, column);
    }

    public static Coordinate nextCoordinate(final int numberOfLines,
                                            final int numberOfColumns,
                                            final Coordinate coordinate) {
        int line = coordinate.getLine();
        int column = coordinate.getColumn() + 1;

        if (column == numberOfColumns) {
            column = 0;
            line++;
            if (line == numberOfLines) {
                line = 0;
            }
        }

        return new Coordinate(line, column);
    }
}


o meu codigo entao fica assim:
Código: Seleccionar todos
import java.util.Random;
public class Board
{
   CoordinateRandomizer coordenadasAleatorias = new CoordinateRandomizer();
    private final char[][] board;
   
    public Random random = new Random();
   
   public int linha = (int) (Math.random() * 10 + 1);
   public int coluna = (int) (Math.random() * 10 + 1);
   
   public int contador = 0;
   
   public char barco4Canos = '4';
   public char barco3Canos = '3';
   public char barco2Canos = '2';
   public char barco1Canos = '1';
   
    public Board(final char[][] board)
    {
        this.board = board;
    }

    public void randomlyDeployBoats(final int[] numberOfBoatsPerSize)
    {
       coordenadasAleatorias.randomCoordinate(linha, coluna);
       board[linha][coluna] = barco4Canos;
       for(int x = 0; x < board.length - 1; x++)
       {
          for(int y = 0; y < board[x].length - 1; y++)
          {
             if(board[x][y] == barco4Canos && contador < 3)
             {
                board[x + 1][y] = barco4Canos;
                contador++;
             }
          }
       }
       contador = 0;
       linha = random.nextInt(10 + 1);
       coluna = random.nextInt(10 + 1);
       coordenadasAleatorias.randomCoordinate(linha, coluna);
       board[linha][coluna] = barco3Canos;
         for(int x = 0; x < board.length - 1; x++)
       {
          for(int y = 0; y < board[x].length - 1; y++)
          {
             if(board[x][y] == barco3Canos && contador < 2)
             {
                board[x + 1][y] = barco3Canos;
                contador++;
             }
          }
       }
    }
}

isto dame um erro as vezes que diz "Exception in thread "main" java.lang.IllegalArgumentException: n must be positive
at java.util.Random.nextInt(Unknown Source)
at CoordinateRandomizer.randomCoordinate(CoordinateRandomizer.java:10)
at Board.randomlyDeployBoats(Board.java:89)
at BoardTester.main(BoardTester.java:8 )"
porque ele testame em varios tabuleiros predefinidos ja com o porta avioes em cada um deles ams em posiçoes diferentes deprositadamente para ver como os meus barcos introduzidos reagem as varias situaçoes (10 tabuleiros no total), e quando me chega prai ao 7, 8, 9 tabuleiro de testes ele dame esse erro. por vezes dame esse erro logo no inicio.
se me conseguires ajudar nisto primeiro agradecia, dps sim pudiamos ir as outras duvidas na citaçao que fiz em cima. mas primeiro queria resolver este erro. nota, eles dizem que se nao for possivel meter os barcos para apanhar a exception e emitir uma msg de erro. achas que é este o caso??
nota que por enquanto tou so a tentar pra dois barcos dps meto pros barcos todos.
seu entretanto descubrir a falhar altero aqui o post.
cumps
XKobra
Aprendiz
Aprendiz
 
Mensagens: 28
Registado: Domingo Nov 01, 2009 23:30

Mensagempor vamosAeles » Terça Nov 24, 2009 19:59

Boas,
esse erro (excepção) parece que acontece na invocacao de randomCoordenate(int, int). Parece que tas a invoca-lo passando-lhe 0 ou um numero menor que 0 nos paremetros (numberIfLines, numberOfColumns)... penso que nao seja suposto esses valores irem a 0?? (mas sim a 10 e 10, no caso de ser um tab 10x10) certo?

Cumps
vamosAeles
Membro de Prata
Membro de Prata
 
Mensagens: 206
Registado: Quarta Jan 04, 2006 21:29
Localização: Lisboa/Proença

Mensagempor XKobra » Terça Nov 24, 2009 22:51

vamosAeles Escreveu:Boas,
esse erro (excepção) parece que acontece na invocacao de randomCoordenate(int, int). Parece que tas a invoca-lo passando-lhe 0 ou um numero menor que 0 nos paremetros (numberIfLines, numberOfColumns)... penso que nao seja suposto esses valores irem a 0?? (mas sim a 10 e 10, no caso de ser um tab 10x10) certo?

Cumps


espera tas a dizer que os numeros passados têm que ser de 1 a 10??
o enundiado diz isto pode ser que ajude na duvida:
Pede-se que complete o método

public void randomlyDeployBoats(final int[] numberOfBoatsPerSize)

da classe Board, de modo a completar o posicionamento inicial dos barcos no tabuleiro recebido como parâmetro. O parâmetro é uma matriz em que a posição com índice n (n+1-ésima) contêm o número de barcos de tamanho n a criar na matriz (isto significa que a primeira posição, com índice 0, deve ser ignorada).

se for como passolhe esses valores? passando como estou a passar no codigo? essa e a maneira mais correcta?
cumps
XKobra
Aprendiz
Aprendiz
 
Mensagens: 28
Registado: Domingo Nov 01, 2009 23:30

Mensagempor vamosAeles » Terça Nov 24, 2009 23:50

Boas,
no teu cod acima tens umas cenas q nao parecem bem:

1)coordenadasAleatorias.randomCoordinate(linha, coluna);
Repara que aquilo nao esta a fazer nada. O metodo randomCoordinate(linha, coluna) retorna uma coordenada, mas não estás a guardá-la.
Acho que querias era fazer algo:
coordenadasAleatorias = CoordinateRandomizer.randomCoordinate(linha, coluna);

2) Mais uma vez insisto que parece-me que esse método é suposto recebe a dimensao do array (tabuleiro)

2)O método randomlyDeployBoats que tens em cod acima é todo teu, ou parte já foi dado pelo prof?

3)Qd vais por um barco, tens de verificar nesse metodo se nessa posicao já existe um outro, certo?

(De qq maneira se percebi bem o que se quer com esse metodo randomlyDeployBoats , cuidado com essas condições tipo contador < 3, porque depois quando tiveres que generalizar para n barcode N canos tens de mudar isso tudo e é mais facil teres logo isso em conta no inicio)

Depois qd poes o de 3canos, parece que nao estás a fazer correctamente.
Nao percebo pq fazes linha = random.nextInt(10 + 1); (Assim estas a gerar um numero random no randomCoordinate que vai de 0 a um numero random q acabas-te de gerar em "linha = random.nextInt(10 + 1)")**
Acho q devias logo fazer randomCoordinate(board.lenght, board[0].lenght), assim como verificar se estas a 'esmagar' o barco de 4 canos antes de comecar a fazer cenas tipo board[x + 1][y] = barco3Canos;

** isto pode gerar a excepcao q estava no teu post acima, imagina que linha = random.nextInt(10 + 1); fica com 0. Depois qd invocas randomCoordinate(linha (com valor 0), coluna), a instrução int line = randomizer.nextInt(numberOfLines) vai mandar essa exepcao, porque o parametro do nextInt tem de ser positivo, senao não consegue gerar nenhum número entre 0(inclusive) e parametro (exclusive)


Cumps
vamosAeles
Membro de Prata
Membro de Prata
 
Mensagens: 206
Registado: Quarta Jan 04, 2006 21:29
Localização: Lisboa/Proença

Mensagempor XKobra » Quarta Nov 25, 2009 2:14

vamosAeles Escreveu:Boas,
no teu cod acima tens umas cenas q nao parecem bem:

1)coordenadasAleatorias.randomCoordinate(linha, coluna);
Repara que aquilo nao esta a fazer nada. O metodo randomCoordinate(linha, coluna) retorna uma coordenada, mas não estás a guardá-la.
Acho que querias era fazer algo:
coordenadasAleatorias = CoordinateRandomizer.randomCoordinate(linha, coluna);

2) Mais uma vez insisto que parece-me que esse método é suposto recebe a dimensao do array (tabuleiro)

2)O método randomlyDeployBoats que tens em cod acima é todo teu, ou parte já foi dado pelo prof?

3)Qd vais por um barco, tens de verificar nesse metodo se nessa posicao já existe um outro, certo?

(De qq maneira se percebi bem o que se quer com esse metodo randomlyDeployBoats , cuidado com essas condições tipo contador < 3, porque depois quando tiveres que generalizar para n barcode N canos tens de mudar isso tudo e é mais facil teres logo isso em conta no inicio)

Depois qd poes o de 3canos, parece que nao estás a fazer correctamente.
Nao percebo pq fazes linha = random.nextInt(10 + 1); (Assim estas a gerar um numero random no randomCoordinate que vai de 0 a um numero random q acabas-te de gerar em "linha = random.nextInt(10 + 1)")**
Acho q devias logo fazer randomCoordinate(board.lenght, board[0].lenght), assim como verificar se estas a 'esmagar' o barco de 4 canos antes de comecar a fazer cenas tipo board[x + 1][y] = barco3Canos;

** isto pode gerar a excepcao q estava no teu post acima, imagina que linha = random.nextInt(10 + 1); fica com 0. Depois qd invocas randomCoordinate(linha (com valor 0), coluna), a instrução int line = randomizer.nextInt(numberOfLines) vai mandar essa exepcao, porque o parametro do nextInt tem de ser positivo, senao não consegue gerar nenhum número entre 0(inclusive) e parametro (exclusive)


Cumps

desde ja agradeço o esclarecimento como sempre é bem vindo e igualmente util ^^, das-lhe bues, vais tipo a "fonte" do problema ve-se mesmo que percebes os porquês de fazer isto ou aquilo, isso é coisas que me faltam bastante...
respondendo-te agora:

1) Eu fiz isso agora, mudando so o tipo da varivel coordenadasAleatorias para:
Coordinate coordenadasAleatorias = new Coordinate(linha, coluna);
pois a class Coordinate é onde estao os metodos construtores e respectivos inspectores e se fizesse como me disseste tal e qual davame um erro. Fiz asneira?

2)o codigo nao é todo meu, grande parte dele ja foi pre-feito pelo meu prof, alias eu nem tinha que cirar os barcos o que eu tenho mesmo que fazer nesse metodo public void randomlyDeployBoats(final int[] numberOfBoatsPerSize) é gerar aleatoriamente coordenadas para os barcos; gerar aleatoriamente a posiçao dos barcos, vertical ou horizontal;
se nao for possivel, gerar proxima direcçao. senao gerar coordenada seguinte.
se mesmo assim nao der, mandar uma msg de erro a avisar.
senao, posicionar o barco lol.
a unica razao pela qual fiz os barcos era pra mais ou menos me orientar no outPut a ver se estava a fazer asneira ou nao =\
codigo normal :
Código: Seleccionar todos
public class Board
{
    private final char[][] board;
    public Board(final char[][] board)
    {
        this.board = board;
    }   
    public void randomlyDeployBoats(final int[] numberOfBoatsPerSize)
    {
 
    }
}

codigo actual meu:
Código: Seleccionar todos
public class Board
{
    private final char[][] board;
    public Board(final char[][] board)
    {
        this.board = board;
    }
   
   public int linha = 1;
   public int coluna = 1;
   Coordinate coordenadasAleatorias = new Coordinate(linha, coluna);
   
   public int contador = 0;   
   public char barco4Canos = '4';
   
    public void completarBarco4Canos()
    {
       for(int x = 0; x < board.length - 1; x++)
           {
              for(int y = 0; y < board[x].length - 1; y++)
              {
                 if(board[x][y] == barco4Canos && contador < 3)
                 {
                    board[x + 1][y] = barco4Canos;
                    contador++;
                 }
              }
           }
    }
   
    public void randomlyDeployBoats(final int[] numberOfBoatsPerSize)
    {
       coordenadasAleatorias = CoordinateRandomizer.randomCoordinate(linha, coluna);
       board[linha][coluna] = barco4Canos;
       completarBarco4Canos();
    }
}

Nota: se inicializar as variaveis linha, coluna a zero. o programa gera aquele tal erro de excepçao. mas se eu inicializar as variaveis a 1 obetenho os outputs todos de testes exemplo de um:
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ 4 ~ ~ ~ ~ ~ ~ ~ ~
~ 4 ~ ~ ~ ~ ~ ~ ~ ~
~ 4 ~ ~ ~ ~ ~ ~ ~ ~
~ 4 ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~ ~ ~ ~ ~ ~ ~ ~ 5 ~
~ ~ ~ ~ ~ ~ 5 5 5 ~
~ ~ ~ ~ ~ ~ ~ ~ 5 ~
mas nos 10 ooutpus a posiçao do meu barco de 4Canos nunca muda ou seja, nao estou a conseguir gerar aleatoriamente as variaveis com os metodos ja criados na class do meu prof. porque?
eu pensei em gerar eu mesmo o numero aleatorio dai o "linha = random.nextInt(10 + 1)" a minha intençao aqui era gerar um numero de 1 a 10 de alguma maneira lol.. so que la esta. nao tem logica nenhuma isto, se ja tenho metodos que me gerem numeros aleatorios e eu estou a usalos. (penso eu que correctamente) porque é que a coordenada nao muda nos outputs?=\

3)como ja referi, eu nao preciso de fazer barcos, mas a suposta pessoa que os vai meter, este metodo tem de ser capaz de se a posiçao ja esta ocupada ou seja neste caso tenho que fazer qualquer coisa como != '~'; certo?

obrigado mais uma vez.
cumps
XKobra
Aprendiz
Aprendiz
 
Mensagens: 28
Registado: Domingo Nov 01, 2009 23:30

Mensagempor vamosAeles » Quarta Nov 25, 2009 22:01

Boas,

pois, como tens o barco fica sempre na posicao com que inicializas a linha e coluna, isto porque depois nao usas as coordenadas geradas aleatoriamente.

Experimenta abordar este metodo com algo tipo:
Código: Seleccionar todos
public void randomlyDeployBoats(final int[] numberOfBoatsPerSize){
       for(int i = 1; i < numberOfBoatsPerSize.lenght; i++){
          for(int j = 0; j < numberOfBoatsPerSize[i]; j++){
              while(true){
                   //fica em ciclo ate encontrar uma coordenada que nao esmague outro barco
                  coordenadasAleatorias = CoordinateRandomizer.randomCoordinate(board.lenght, board[0].lenght);
                  bool livres =//invocar aqui um metodo q verifica se as
                 //posicoes onde o barco vai ficar esta vazias (com '~')
                 //(este metodo deverá receber a linha e coluna inicial,
                //ie,  coordenadasAleatorias.getLinha() 
                //coordenadasAleatorias.getColuna()
                 //e também o tamanho do barco (variavel i)
                 if(livres) break;
              }               
              board[coordenadasAleatorias.getLinha()][coordenadasAleatorias.getColuna()] = '0' + i;
        completarBarcoNCanos(coordenadasAleatorias.getLinha(), coordenadasAleatorias.getColuna(), i);
        //O metodo acima coloca i - 1 caracteres de i, nas posicoes da grelha
             
          }
       }
       
    }
vamosAeles
Membro de Prata
Membro de Prata
 
Mensagens: 206
Registado: Quarta Jan 04, 2006 21:29
Localização: Lisboa/Proença

Mensagempor zeze » Sexta Nov 27, 2009 16:42

Boas,
tive a ver a vossa discussão e achei bastante interessante esse programa..

em relação à ideia que mandaste, vamosAeles, não se deveria tambem relacionar os barcos uns com os outros de maneira a nao ficarem todos coladinhos?
zeze
Novato
Novato
 
Mensagens: 2
Registado: Sexta Nov 27, 2009 16:38

Mensagempor vamosAeles » Sexta Nov 27, 2009 18:09

Boas,

sim, pode ser feito no metodo q indiquei na linha "bool livres = //bla bla"

Cumps
vamosAeles
Membro de Prata
Membro de Prata
 
Mensagens: 206
Registado: Quarta Jan 04, 2006 21:29
Localização: Lisboa/Proença

Mensagempor zeze » Sábado Nov 28, 2009 3:55

pois tens razao, vou tentar fazer qualquer coisa.. é sempre bom praticar =D

cumps
zeze
Novato
Novato
 
Mensagens: 2
Registado: Sexta Nov 27, 2009 16:38

Mensagempor pujante » Sábado Nov 28, 2009 13:22

Oi!

tudo bem?

Eu tambem estou a fazer um programa parecido, num curso que tou a fazer..
algum de vocês podiam me arranjar o código?? ou já é pedir muito?? :oops:
pujante
Novato
Novato
 
Mensagens: 1
Registado: Sábado Nov 28, 2009 13:17

Mensagempor XKobra » Sábado Nov 28, 2009 22:11

vamosAeles Escreveu:Boas,

pois, como tens o barco fica sempre na posicao com que inicializas a linha e coluna, isto porque depois nao usas as coordenadas geradas aleatoriamente.

Experimenta abordar este metodo com algo tipo:
Código: Seleccionar todos
public void randomlyDeployBoats(final int[] numberOfBoatsPerSize){
       for(int i = 1; i < numberOfBoatsPerSize.lenght; i++){
          for(int j = 0; j < numberOfBoatsPerSize[i]; j++){
              while(true){
                   //fica em ciclo ate encontrar uma coordenada que nao esmague outro barco
                  coordenadasAleatorias = CoordinateRandomizer.randomCoordinate(board.lenght, board[0].lenght);
                  bool livres =//invocar aqui um metodo q verifica se as
                 //posicoes onde o barco vai ficar esta vazias (com '~')
                 //(este metodo deverá receber a linha e coluna inicial,
                //ie,  coordenadasAleatorias.getLinha() 
                //coordenadasAleatorias.getColuna()
                 //e também o tamanho do barco (variavel i)
                 if(livres) break;
              }               
              board[coordenadasAleatorias.getLinha()][coordenadasAleatorias.getColuna()] = '0' + i;
        completarBarcoNCanos(coordenadasAleatorias.getLinha(), coordenadasAleatorias.getColuna(), i);
        //O metodo acima coloca i - 1 caracteres de i, nas posicoes da grelha
             
          }
       }
       
    }


boas noites tenho tado sem net mas cheguei a ver ainda o tua sugestao de ajuda. era so pra te agradecer mais uma vez. consegui ja fazer o que queria =D
cumps ^^
XKobra
Aprendiz
Aprendiz
 
Mensagens: 28
Registado: Domingo Nov 01, 2009 23:30


Voltar para Programação

Quem está ligado:

Utilizador a ver este Fórum: Nenhum utilizador registado e 1 visitante

cron