Duvida com jogo, Resta 1

5 respostas
E

[size=16]bom pessoal ,
to fazendo um jogo " RESTA 1"...
bom pra quem nao sabe ne ,

O jogo começa em 35. ... quem fazer resta 1 no final ganha....
. sendo que vc pode jogar contra outro jogador ou contra pc;
. e os jogadores so tem opções de aperta botoes 1,2,3..
. o pc joga aleatorio , ("ele joga ql numero e quizer entre 1 e 3").
. quem chegar no 1 ganha ....
[/size]

aqui um exemplo jogo pessoa contra pessoa
[botao] : 1,2,3..

Inicio Jogo 35.

Se Jogador1 [1] = 34;
Se jogador2 [2] = 32;
Se Jogador1 [3] = 29;
Se jogador2 [2] = 27;
Se Jogador1 [1] = 26;
Se jogador2 [3] = 23;
Se Jogador1 [3] = 20;
Se jogador2 [1] = 19;
Se Jogador1 [1] = 18;
Se jogador2 [2] = 16;
Se Jogador1 [1] = 15;
Se jogador2 [2] = 13;
Se Jogador1 [1] = 12;
Se jogador2 [2] = 10;
Se jogador2 [3] = 7;
Se Jogador1 [1] = 6;
Se jogador2 [2] = 4;
Se Jogador1 [1] = 3;
Se jogador2 [2] = 1; // Jogador 2 ... "ganhoo"

bom ai como o jogo funciona .....agora os codigos

bom ja fiz algumas coisas .: como

public void actionPerformed(ActionEvent e) 
	{
		if(e.getSource()== iniciar)  //ao clicar no BT iniciar , vai iniciar jogo 1 X pc
		{
			 UmJogador();
		}
		if(e.getSource()== iniciar2)//ao clicar no BT iniciar2 , vai iniciar jogo 1 X 1
		{
			DoisJogador();
		}
		if (e.getSource() == bStart) //  habilita os botoes  1,2,3.. e inicia o jogo
		{
			start();
		}
                   }
// *******************************************************************************************

public void UmJogador()
    {
    	 tipo = true;
    	jlNome1.setEnabled(true);
		jlNome2.setEnabled(true);
		jtNome1.setEnabled(true);
		jtNome2. setEnabled(true);
		jtNome2.setText("Computador");
		bStart.setEnabled(true);
	
		getVisor(). setEnabled(true);
		getVisor().setFont(new java.awt.Font("Tahoma", 0, 14));
	    getVisor().setText(" Aperte START ");

    }
    public void DoisJogador()
    {
        tipo = false;
		jlNome1.setEnabled(true);
		jlNome2.setEnabled(true);
		jtNome1.setEnabled(true);
		jtNome2.setEnabled(true);
		bStart. setEnabled(true);
		
		getVisor(). setEnabled(true);
		getVisor(). setFont(new java.awt.Font("Tahoma", 0, 14));
	    getVisor(). setText(" Aperte START ");
	
    }
    
    public void start()
    {
    	display = 35;
    	getVisor().setText(""+ display);
		getVisor().setFont(new Font("Arial",Font.BOLD,68));  
		getVisor().setForeground(Color.cyan); 
		jButton1.    setEnabled(true);
		jButton2.    setEnabled(true);
		jButton3.    setEnabled(true);
		jButton1_2.  setEnabled(true);
		jButton2_2.  setEnabled(true);
		jButton3_2.  setEnabled(true);
		jlJogador1.  setEnabled(true);
		jlJogador2.  setEnabled(true);
		
		txt = new String(jtNome1.getText());
		jlJogador1.setText(""+ jtNome1);
		jlJogador1.setVisible(true);
		jlJogador1.setText(txt);
		txt2 = new String(jtNome2.getText());
		jlJogador2.setText(""+ jtNome2);
		jlJogador2.setVisible(true);
		jlJogador2.setText(txt2);
		
    }
    
    public void jogadapc()
    {
    	int aux = chama.jogaComp();
   		chama.Verifica(display);
   		
   		if(aux==1)
   		{	
   			display =chama.Bot1(display);
   			getVisor().setText(""+display);
   		}			
   		else if(aux==2)
   		{
   			display =chama.Bot2(display);
   			getVisor().setText(""+display);
   		}
   		else
   		{
   			display =chama.Bot3(display);
   			getVisor().setText(""+display);
   		}
    }

//++++++++++  Botao 1 ++++++++++++++++++++++++++++++	
    public void Botao1()
    {
    	if(tipo == true)
    	{
    		display =chama.Bot1(display);			
       		getVisor().setText(""+display);
       		int aux = chama.jogaComp();
       		chama.Verifica(display);
    		  		
   			jogadapc();
    	}
    	if(tipo == false)
    	{	
    		display =chama.Bot1(display);			
       		getVisor().setText(""+display);
       		int aux = chama.jogaComp();
       		chama.Verifica(display);
    	}
    }
//++++++++   FIM  Botao 1 ++++++++++++++++++++++++++
    
//++++++++++  Botao 2 ++++++++++++++++++++++++++++++	
    public void Botao2()
    {
    	if(tipo == true)
    	{
    		display =chama.Bot2(display);			
       		getVisor().setText(""+display);
       		int aux = chama.jogaComp();
       		chama.Verifica(display);
   		jogadapc();
   		
    	}if(tipo == false)
    	{
    		display =chama.Bot2(display);			
       		getVisor().setText(""+display);
       		int aux = chama.jogaComp();
       		chama.Verifica(display);
       	}
    }
   //++++++++ FIM  Botao 2 ++++++++++++++++++++++++++++
    
   //++++++++++  Botao 3 ++++++++++++++++++++++++++++++
    public void Botao3()
    {
    	if(tipo == true)
    	{
    		display =chama.Bot3(display);			
       		getVisor().setText(""+display);
       		int aux = chama.jogaComp();
       		chama.Verifica(display);
   		jogadapc();
    	}if(tipo == false){
    		
    		display =chama.Bot3(display);			
       		getVisor().setText(""+display);
       		int aux = chama.jogaComp();
       		chama.Verifica(display);
    	}
    }
   //++++++++++  Botao 3 ++++++++++++++++++++++++++++++

[color=blue]/// classe Logica .....[/color]

public int mostraDisplay()
	{
		Random Inicio = new Random();
		IniNumero = 35 + Inicio.nextInt(43 - 35);
		return IniNumero;
	}
	
	public int jogaComp()
	{
		Random Comp = new Random();
		CompNumero = 1 + Comp.nextInt(3 - 1);
		return CompNumero;
	}




public void Verifica(int w)
	{
		if (w < 1)
		{
			JOptionPane.showMessageDialog(null, "Perdeu o Jogo");	
		}
		else if (w == 1)
		{
			JOptionPane.showMessageDialog(null, "GAnhouuuuuu");	
		}
		
	}



//*****************************************************************

[color=red]ta algumas partes estao ai ..

mas a minha dificuldade esta ai na ultima parte , e outras , mas ai ta dificil em ,rsrsrs

entao ta iniciou o jogo , clico nos botoes e tal , ta chego o contador chego a 1.....

ai aparece ganho ......

ta mais quem ganho ... esta que a a minha dificuldade ,

nao consigo criar uma logica ou algo pra , me mostra se foi o jogador 1 , jogador 2 ou o pc ,
que ganho....

entao ai ate vs pra me ajuda ai ....

como posso fazer isto ,

quero que apareça quem ganho e o nome dele.....
e
abra uma outra tela ("records") , com o nome do ganhador , e qnd vitorias.....[/color]

5 Respostas

R

Cara, cria uma classe Jogador (com nome e outros dados que desejar), ae para jogar vc instancia duas classe Jogador e passa os nomes, ae vc fica revezando o movimento entre os jogadores ae quando der a mensagem de ganhou vc ve quem fez o ultimo movimento. Vc pode criar vários outros atributos também para armazenar os movimento de cada jogador … ou oq desejar

E

cara entendi mais ou manos …

ta crio 2 classes , um jogador 1 e jogador 2…ta

mas como eu faço pra instanciar ,

por no jogo ta .

se eu clico no bt 1,2ou 3 …
diminui o contador ,


se poderia me da um exemplo …em java

faz favor
abradeço

R

Você vai criar uma classe chamada jogador.
Quando vc iniciar o jogo vc já instancia essas duas classes e passa os parametros desejados
tipo assim:

//isso na hora q inicializar o programa
Jogador jogador1 = new Jogador("Rafael");
Jogador jogador2 = new Jogador("edi-ss ");

e cria a classe Jogador

public class Jogador{
     private String nome;
     public Jogador(String nome){
          this.nome = nome;
     }
     public String getNome{
          return nome;
     }
     // ... outros métodos referentes ao jogador
}

da uma estudada em OO, vc está trabalhando estruturado
aconselharia criar também uma classe Tabuleiro

E

um ta , passar e recer os parametros para outra classe ta ok…

mas eu so nao sei ,

como dizer ai jogo que :

quando jogador1 , clica em algum botao
diminui valor do visualizador;

quando jogador2 / pc , clicar em algum botao

R

Cara não sei muito bem a lógica do jogo, mas se cada jogador poder jogar uma única vez, basta vc criar uma classe pra controlar isso, vc pode colocar pra sempre o jogador1 começar por exemplo, ae o primeiro movimento é do um o segundo do dois o terceiro do um … e vai revezando

Criado 11 de abril de 2008
Ultima resposta 11 de abr. de 2008
Respostas 5
Participantes 2