Carregar mapas formato txt em jogo java

Ola se alguem puder me ajudar sobre o carregamento de mapas no formato txt em jogos.

por exemplo tenho um arquivo txt com o seguint conteudo:

AAAAAATTTTTTTTAAAAAAAAAAAAAAWW
AAAAAAAADRSTTTTTTTTTTTTTTTAATTUII
WWWWWWWWWWWWWWWWWWWSSSW
WWWWWWWWWWWWWWWWWWWSSSW

sendo que cada letra do alfabeto representada neste arquivo,
simboliza um objeto diferente q sera carregado no jogo.

minha principal duvida é como substituir a aposicao de cada letra pelo respctivo objeto.

OBS: não vou postar codigo pois não comecei a desenvolver ainda.
só quero saber alguma logica ou algoritmo que posso usar neste desenvolvimento.

desde ja mt obrigado

Eu fiz um curso de desenvolvimento em jogos em Java 2D, achei simples mas me deu uma boa base, porque nao entendia nada hehehe, eu ate tenho um exemplo pra mostrar pra voce, porem nao tenho agora em maos, formatei meu notebook e agora vou ter que procurar no meu backup, mas de antemao estou postando o link do site caso voce se interesse:

http://udco.unidev.com.br

Abraços.

Espero que seja um jogo bem simples, pois esse mapa vai ter dezenas de limtações.

Mas, não é nenhum bixo de sete cabeças se você sabe a forma como um arquivo é lido e como mapas 2d são feitos. O problema é que como você ainda não desenvolveu nada, tudo que nós falarmos aqui vai ser muito vago. Vamos fazer assim: tente primeiro cirar um mapa sem usar arquivos de textos, só com arquivos de imagem que você organiza direto no código. Quando conseguir fazer isso, aí sim dá pra gente te ajudar com o resto, ok?

Vlw pessoal assim que eu desenvolver alguma coisa,
irei retornar a esse topico para postar minhas duvidas…obrigado pela atenção de vcs.

Em Java também é possível salvar objetos serializados em arquivo, que pode ser lido posteriormente pelo programa que implementa a mesma classe.

sei como funciona a parte de serialização de deserialização de objetos…
Mas este metodo não satisfaz a minha necessidade, mas obrigado…

se alguem me indicar sites ou souber uma forma de fazer mapas,apartir de arquivos txt
me avisem…

obrigado

Não entendi exatamente o motivo e usar um TXT para representar o seu Mapa. Mas tudo bem. Pelo que eu entendi o seu TXT nada mais é do que um “layout” ou um “gabarito” onde cada posição representa um objeto específico. A estrutura seria mais ou menos assim:

1 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | 2 | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V |

Seu arquivo .txt deverá serguir um padrão, por exemplo, onde cada elemento é separado por “,” e a linha é finalizada por “;”. Portanto o txt ficaria assim:

A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V; A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V; A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V; A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V; A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V; A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V; A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V;

Neste caso, eu acredito que a forma mais simpes(e braçal) e comum de fazer isso seria utilizano o famoso .split() do java.

[code]public void processaMapaTxt(File mapaTxt) throws Exception {

	String linha = null;
	BufferedReader br = null;
	try {

		br = new BufferedReader(new FileReader(txt_erp));

		// Uma sugestão de como validar se o arquio realmente é .txt
		if (!txt_erp.getName().endsWith(".txt")) {
			throw new Exception("O arquivo " + txt_erp.getName()
					+ " não é do tipo .txt. Favor informar novamente.");
		}

		String vetor_linha[] = null;

		while ((linha = br.readLine()) != null) {

			//primeiro a linha
			vetor_linha = linha.split(";");

			//Aqui fica sua lógica de como tranformar seus dados em novos objetos
			if(vetor_linha[0]){
				//objeto tal
			}

			if(vetor_linha[1]){
				//objeto tal
			}	

			.
			.
			.
			//e por ai vai....

		}[/code]

Mas repito, essa não é a melhor forma de fazer isso e a lógica tem que ser melhorada. Minha intenção foi dar uma luz somente.

Outra coisa, eu não compilei esse código!!! Pode ser que tenha algo errado de sintaxe e etc…

:smiley:

esta forma tambem é viavel, mas oqueeu realmente queria fazer era vamos supor onde tiver uma letra A no araquivo instancio o personagem, letra B instancio um inimigo
e assim por diante.

Dentro dessa lógica, vc poderia fazer::

[code]Object objeto;
if(caracteres[0].equals(“A”)){
objeto = new MeuObjetoReferenteAoCaracterA();
}

.
.
.

if(caracteres[0].equals(“Z”)){
objeto = new MeuObjetoReferenteAoCaracterZ();
}
[/code]

Ou algo do tipo…