Me ajudem

2 respostas
faicoxim
public class GuessGame
{
	Player p1;
	Player p2;
	Player p3;
		public void startGame()
		{
			p1 = new Player();
			p2 = new Player();
			p3 = new Player();
			
			int guessp1 = 0; 
			int guessp2 = 0;
			int guessp3 = 0;
			
			boolean p1isRight = false;
			boolean p2isRight = false;
			boolean p3isRight = false;
			
			int targetNumber = (int)(Math.random() * 10);
			System.out.println("Estou pensando em um numero entre 0 e 9");
			
			while (true)
			{
				System.out.println("O numero a adivinha é: "+ targetNumber);
				p1.guess();
				p2.guess();
				p3.guess();
				
				guessp1 = p1.number;
				System.out.println("O jogador um forneceu " + guessp1);
				guessp2 = p2.number;
				System.out.println("O jogador dois forneceu " + guessp2);
				guessp3 = p3.number;
				System.out.println("O jogador tres forneceu " + guessp3);
				
				if (guessp1 == targetNumber)
				{
					p1isRight = true;
				}
				if (guessp2 == targetNumber)
				{
					p2isRight = true;
				}
				if (guessp3 == targetNumber)
				{
					p3isRight = true;
				}
				if (p1isRight || p2isRight || p3isRight)
				{
					System.out.println("Temos um vencedor");
					System.out.println("O jagador 1 acertou" + p1isRight);
					System.out.println("O jagador 2 acertou" + p2isRight);
					System.out.println("O jagador 3 acertou" + p3isRight);
					break;
				}
				else
				{
					System.out.println("Os jogadores terão que tentar novamente");
				}
			}
		}
}

class Player
{
	int number = 0;
	public void guess()
	{
		number = (int)(Math.random() * 10);
		System.out.println("Estou pensando em " + number);
	}
}
class GameLauncher
{
	public static void main (String args[])
	{
		GuessGame game = new GuessGame();
		game.startGame();
	}
}

Pessoal ali na classe GuessGame, foram criados 3 variaveis de instancias, Player p1, Player p2, Player p3 porque foram criadas essas variaveis com o mesmo nome da segunda classe Player e porque foram criados tres objetos player e atribuidos a eles as variaveis de instacias no metodo startGame????

2 Respostas

peczenyj

Pergunta pra quem desenvolveu, parece que isto simula 3 jogadores, simples assim.

M

Nas linhas 3, 4 e 5 os objetos do tipo Player (classes definem tipos) foram declarados. Já nas linhas 8, 9 e 10 esses mesmos três objetos foram instânciados (chamada do construtor da classa, no caso um construtor default).

Para entender bem os termos classe, tipo, objeto, instância, declaração e instânciação leia um tutorial de orientação a objetos.

Uma sugestão é o da Sun: http://java.sun.com/docs/books/tutorial/java/concepts/index.html - Tradução independente: http://programacaoemjava.blogspot.com/2009/01/conceitos-orientao-objetos.html

Criado 2 de fevereiro de 2009
Ultima resposta 2 de fev. de 2009
Respostas 2
Participantes 3