Ir para o conteúdo
Masato

Ajuda em duas funções para jogo

Mensagens Recomendadas

Masato

Boas pessoal.

É o seguinte: eu tenho um projecto e desenvolvi dois métodos para colocar peças num tabuleiro de forma a que sejam colocadas sempre na casa mais abaixo (nas primeiras posições que não têm peças ou que são as ultimas casas) ou seja de cima para baixo.

A chatice ( uma delas) é que as peças ( uma é uma água a outra um smile) "comem-se" umas ás outras ou seja por vezes substituem-se.

o código é este:

public void randomPositionPrimeiroJogador ()
 {
 Random randomizer = new Random();
	 int l = randomizer.nextInt(grid.getNumberOfRows());
	 int c = randomizer.nextInt(grid.getNumberOfColumns());
	 // grid.getPosition(l, j);
	 Position p = grid.getPosition(l, c);
	 if (p.getIcon()!=null)
	 {
		 p= grid.getPosition(l-1, c);
		 //Position f= grid.getPosition(l-1, c);
		 p.setIcon(CharacterIcon.AGUIAJ);


	 }
	 else {
		 p= grid.getPosition(grid.getNumberOfRows()-1, c);
		 p.setIcon(CharacterIcon.AGUIAJ);
	 }


 }

 public void randomPositionSegundoJogador ()
 {
 Random randomizer = new Random();
	 int l = randomizer.nextInt(grid.getNumberOfRows());
	 int c = randomizer.nextInt(grid.getNumberOfColumns());
	 // grid.getPosition(l, j);
	 Position p = grid.getPosition(l, c);
	 if (p.getIcon()!=null)
	 {
		 p= grid.getPosition(l-1, c);
		 //Position f= grid.getPosition(l-1, c);
		 p.setIcon(CharacterIcon.SMILEY);


	 }
	 else {
		 p= grid.getPosition(grid.getNumberOfRows()-1, c);
		 p.setIcon(CharacterIcon.SMILEY);
	 }
 }

Se me podessem ajudar a perceber onde está o problema agradecia.

Isto é para um projecto ( jogo x em linha) para a cadeira de introdução à programação.

ps: se escreverem algum código tenham em conta que esta cadeira é uma introdução à programação, ainda não demos nada de muito sofisticado.

Best regards

esqueci-me de avisar que o código que está com "//" à frente não tem qualquer significado para a função, fui eu que me esqueci de apagar

Editado por Rui Carlos
Formatação do código.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
Position p = grid.getPosition(l, c);
if (p.getIcon()!=null)
{
 p = grid.getPosition(l-1, c);                       // testaste a posição (l, c) mas agora andas a mexer na (l-1, c) ??
 p.setIcon(CharacterIcon.AGUIAJ);
} else {
 p = grid.getPosition(grid.getNumberOfRows()-1, c);  // como sabes que esta posição se encontra desocupada ?
 p.setIcon(CharacterIcon.AGUIAJ);
}


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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Masato

Position p = grid.getPosition(l, c);
if (p.getIcon()!=null)
{
 p = grid.getPosition(l-1, c);					   // testaste a posição (l, c) mas agora andas a mexer na (l-1, c) ??
 p.setIcon(CharacterIcon.AGUIAJ);
} else {
 p = grid.getPosition(grid.getNumberOfRows()-1, c);  // como sabes que esta posição se encontra desocupada ?
 p.setIcon(CharacterIcon.AGUIAJ);
}

O que me faz pensar que a posição está desocupada é que o else de != null é o null

eu tentei aquela posição como está uma peça naquela posição pedi a posição imediatamente acima e meti o icon

é assim que estou a ver a coisa o que é que está mal? não estou a ver mas está pk não funciona bem

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.