Um de lógica para resolver

3 respostas
xdraculax

Ola gujeiros,

Bem, o problema é o seguinte:

Eu tenho uma série de objetos a serem desenhados em um plano, que posso desenhá-los facilmente em
um Graphics do java, pois cada objeto possui seu X e Y.

Agora, é preciso “desenhar” esses mesmos objetos, em um arquivo TXT.
Ou seja, preciso colocá-los em um arquivo TXT seguindo a mesma disposição que os objetos teriam em uma imagem, por exemplo:

===================================== | NOME: joão da silva email: [email removido] | | DADO 1: HHHHHHHHHHH DADO 2: YYYYYYYYYYY | | DADO 3: OOOOOOOOOOOOOOOOOOOOOOOOOOOO | | (linha em branco) | =====================================

A dificuldade está em como colocar os caracteres no array, nas posições certas, de acordo com o X e Y de cada objeto.

Pensei em usar aproximação. Ou seja, se um objeto está a 20% de distância da borda esquerda da superfície de desenho, eu o colocaria
a partir do caractere 20% a esquerda do array.

Alguém tem uma sugestão melhor para isso?

3 Respostas

Giovane018

Já pensou em contar a quantidade de caracteres por linha?

Pois a primeira e a última " | " teriam que ficar em um lugar específico (Chutando primeira posição como 0 e última posição como 100), e contando a quantidade de caracteres de cada String vc poderia preencher o " Espaco total menos String" com espaços em branco para não deformar a tabela.

Luiz_Augusto_Prado

xdraculax:
Ola gujeiros,

Bem, o problema é o seguinte:

Eu tenho uma série de objetos a serem desenhados em um plano, que posso desenhá-los facilmente em
um Graphics do java, pois cada objeto possui seu X e Y.

Agora, é preciso “desenhar” esses mesmos objetos, em um arquivo TXT.
Ou seja, preciso colocá-los em um arquivo TXT seguindo a mesma disposição que os objetos teriam em uma imagem, por exemplo:

===================================== | NOME: joão da silva email: [email removido] | | DADO 1: HHHHHHHHHHH DADO 2: YYYYYYYYYYY | | DADO 3: OOOOOOOOOOOOOOOOOOOOOOOOOOOO | | (linha em branco) | =====================================

A dificuldade está em como colocar os caracteres no array, nas posições certas, de acordo com o X e Y de cada objeto.

Pensei em usar aproximação. Ou seja, se um objeto está a 20% de distância da borda esquerda da superfície de desenho, eu o colocaria
a partir do caractere 20% a esquerda do array.

Alguém tem uma sugestão melhor para isso?

eu criaria um array bidimensional com espaços.
Ele representaria minha tela. Ai, eu só iria desenhando sobre esse array, como no algoritmo do pintor.
array[y][x] = caractere
depois que tivesse pronto o desenho, eu plotaria com 2 laços for aninhados.

xdraculax

Olá pessoal,

O que fiz foi:

1 - Pegar todos os objetos dentro de um mesmo eixo x (com um delta de 5, por exemplo).
2 - E pegar esses objetos agrupados pelo eixo x, e escrevê-los no arquivo de texto.

Ficou razoavelmente bom :slight_smile:

A quantidade de caracteres por linha como o Giovane018 falou, poderia até dar certo, mas essa quantidade de caracteres é variável, então o TXT não ficaria muito parecido.

Criado 24 de outubro de 2013
Ultima resposta 29 de out. de 2013
Respostas 3
Participantes 3