Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Masato

Ajuda em duas funções para jogo

Recommended Posts

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

Edited by Rui Carlos
Formatação do código.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
HappyHippyHippo

explica lá então o que fazes caso encontre algo na posição (no código em comentários)


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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.