Problema em jogo de moedas

3 respostas
P

Olá… Mais uma vez tou aqui… não percebo nada de java mas tenho de fazer um trabalho em java… alguem me pode ajudar?

import java.awt.Frame;
import java.io.*; 
public class olájava extends Frame{ 
    public static void main(String[] args) 
    throws IOException { 
    	
        InputStreamReader leitor = new InputStreamReader(System.in); 
        BufferedReader input = new BufferedReader(leitor); 
        
 
        System.out.print("Quantas moedas o jogador 1 quer retirar?"); 
        String texto = input.readLine(); 
        int r = Integer.parseInt(texto);
        int m = 22; 
        long n = m - r;
        if (r<=3)
        	System.out.println("Tem " + n + " moedas");
        else System.out.println ("Não pode retirar mais que 3 moedas");
        	System.out.print("Quantas moedas o jogador 2 quer retirar?");
        String text = input.readLine();
        int s = Integer.parseInt(text);
        long l = n - s;
        if (s<=3)
            System.out.println("Tem " + l + " moedas");
        else System.out.println ("Não pode retirar mais que 3 moedas");
    } 
}
Tenho este programinha mas precisava que ele repetisse o processo (não sei kual o parametro que me faz isto) até chegar a ter 1 unica moeda... pois kem tirar a ultima moeda perde...

   Depois gostava de jogar este jogo mas clicando mm em desenhos de moedas axam k é possivel?

   Obrigado por kualker ajudinha...

[color=“green”][size=“9”]*Editado por eltonk. Procure utilizar tags BBCode em seu código para facilitar a visualização ;)[/size][/color]

3 Respostas

F

Olá Pinknsy!

Se eu entendi bem, você quer um simples jogo no qual dois jogadores possam jogar até que as moedas se acabem.

Veja este codigo que fiz, acredito ser o que você descreveu.

import java.io.*;

public class Jogo {

    //Metodo responsavel por ler dados informados no console
    static int LerTeclado(){
		try{ 
			BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
						
			String s = BR.readLine();
			return Integer.parseInt(s);
		} catch(IOException e) {
			return(0);
		} catch(NumberFormatException e) {
			return(0);
		}
	}
    
    public static void main(String[] args) throws IOException {
        int iMoedasDoJogador, iMoedas, iControlaJogador;
        
        //Informo o valor inicial do jogo
        iMoedas = 22;

        //Usarei um contador para diferenciar os jogadores
        //Jogador 1=1 && Jogador 2 = 2
        iControlaJogador = 1;
        
        //Inicia o jogo com zero moedas o jogados
        iMoedasDoJogador = 0;
        
        //Faz enquanto existir 1 moeda ou mais
        while(iMoedas >= 1) {
            do {
                
                //Informativo de valores atuais restantes de Moedas
                System.out.println(">> Restam " + iMoedas + " moedas no jogo <<\n");
                
                //Informa o erro SE o jogador informar valor superior a 3
                if(iMoedasDoJogador > 3) {
                    System.err.println ("Não pode retirar mais que 3 moedas");
                }
                
                //Mostra mensagem e recebe valor do jogador
                System.out.print("Quantas moedas o jogador " + iControlaJogador + " deseja retirar? (Max 3)\n=> "); 
                iMoedasDoJogador = LerTeclado();
                System.out.println();
                
                //Verifica que jogador jogou e muda para o proximo
                iControlaJogador = (iControlaJogador == 2)?1:2;
                
            }while(iMoedasDoJogador > 3); //Faz enquanto o valor que o jogador informar for maior que 3

            iMoedas = (iMoedas - iMoedasDoJogador);
        }
        
        //Informa qual jogador perdeu
        System.out.println("*** O jogador " + iControlaJogador + " perdeu! ***");
        
        //Finaliza o Programa
        System.exit(0);
    }
}

Coloquei bem detalhado para facil entendimento seu, quaisquer dúvida, só postar.

Beijos,
Fábio Heleno

P

Muito obrigado… já tava a complicar a minha cabeça toda… vou já verificar… obrigado!!! :grin: Sou mm um desastre nisto e sou de portugal por isso as vezes n percebo as vossas palavras mas valeu…

P

obrigado… ta mm a funcionar bem… só tive de trocar o jogador k perdia k tava batendo mal… mas já está tudo perfeitinho… agora vou tentar aplicar desenhos de moedas ou isto aparecer numa janela… Obrigado… kk dia apareço com mais duvidas… LOL :lol:

Criado 18 de abril de 2005
Ultima resposta 18 de abr. de 2005
Respostas 3
Participantes 2