1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda em java no eclipse !

Discussão em 'Programação' iniciada por curtido, 13 de Fevereiro de 2009. (Respostas: 12; Visualizações: 846)

  1. curtido

    curtido Power Member

    boas pessoal,

    gostaria no codigo que vou colar que me ajudassem a fazer uma pequena coisinha !
    entao e o seguinte quando inicio o programa do jogo do galo imediatamente pergunta o nome de cada jogador e queria que no final quem ganha-se o jogo aparecesse a mensagem 'Parabens o (nome do jogador 1 ou 2 ) ganhou ! :D'

    codigo do jogo (e capaz de ter algumas coisas inuteis)

    Código:
    [noparse] 
    import java.util.Scanner;
     
    public class game {
     
     
     
        static char a,b,c;
        static char d,e,f;
        static char g,h,i;
     
        static char simbolo_jogador_1;
        static char simbolo_jogador_2;
     
        static char jogador_activo;
        static String nome_jogador_1;
        static String nome_jogador_2;
        static char lido1;
        static String lido2;
     
     
     
        public static void main(String[] args) {
     
            boolean ganhou_ou_empatou = false;
            inicializar_variaveis();
            desenhar_tabuleiro();
            perguntarNomes();
     
            do
            {
                ler_jogada();
                desenhar_tabuleiro();
                if(ganhou())
                    {
                    parabens();
                    ganhou_ou_empatou = true;
                    }
                else if (empate())
                    {
                    empataram();
                    ganhou_ou_empatou = true;
                    }
     
     
                else mudar_de_jogador();
     
            }while (!ganhou_ou_empatou);
     
     
        }//main
     
        private static void jn() {
     
            Scanner consola = new Scanner (System.in);
     
            boolean jn;
     
            do{
     
     
    jn = false;
     
    System.out.print("Novo jogo? sim ou nao > ");
            String lido = consola.nextLine(); 
     
            if(lido.equals("sim"))
                jogar_outra_vez();
            else if(lido.equals("nao")){
                System.out.println("Jogo Terminado ! "+"\n"+"Jogo criado por:"+"\n"+"Renato Silva");
            System.exit(1);}
            else 
     
     
    {
                jn = true;
                System.out.println("Opcao invalida!");
            }
            }while(jn);
            }
     
     
        private static void jogar_outra_vez() {
     
            boolean ganhou_ou_empatou = false;
            inicializar_variaveis();
            desenhar_tabuleiro();
     
            do
            {
                ler_jogada();
                desenhar_tabuleiro();
                if(ganhou())
                    {
                    parabens();
                    ganhou_ou_empatou = true;
                    }
                else if (empate())
                    {
                    empataram();
                    ganhou_ou_empatou = true;
                    }
     
     
                else mudar_de_jogador();
     
            }while (!ganhou_ou_empatou);
     
        }
     
        private static void mudar_de_jogador() {
     
            if(jogador_activo == simbolo_jogador_1)
                jogador_activo = simbolo_jogador_2;
            else if(jogador_activo == simbolo_jogador_2)
                jogador_activo = simbolo_jogador_1;
     
     
     
     
        }
     
     
        private static void empataram() {
     
            System.out.println("O jogo ficou empatado !");
     
            boolean jn;
            do {
     
                jn = true;
     
                jn();
            }while(jn);
     
        }
     
     
        public static boolean empate()
        {
            if((a!=' ')&(b!=' ')&(c!=' ')
             &(d!=' ')&(e!=' ')&(f!=' ')
             &(g!=' ')&(h!=' ')&(i!=' '))
                return(true);
     
        return false;    
        }
     
     
        private static void parabens() {
     
     
            if ((nome_jogador_1 == ))System.out.println("Parabens "+nome_jogador_1+" ganhou este jogo ! :D ");
     
     
            boolean jn;
            do {
     
                jn = true;
     
                jn();
            }while(jn);
     
        }
     
        private static boolean ganhou() {
     
            //horizontais
            if((a==b)&(b==c)&(a!=' '))
                return(true);
            if((d==e)&(e==f)&(d!=' '))
                return(true);
            if((g==h)&(h==i)&(g!=' '))
                return(true);
     
            //verticais
            if((a==d)&(d==g)&(a!=' '))
                return(true);
            if((b==e)&(e==h)&(b!=' '))
                return(true);
            if((c==f)&(f==i)&(c!=' '))
                return(true);
     
            //diagonais
            if((a==e)&(e==i)&(a!=' '))
                return(true);
            if((c==e)&(e==g)&(c!=' '))
                return(true);
     
         return(false); 
     
        }
     
        private static void ler_jogada() {
            Scanner consola = new Scanner (System.in);
     
            boolean errar;
            do
            {
            errar = false;    
     
            System.out.print("Jogue por favor de 1 a 9 > ");
            String lido = consola.nextLine();
     
            if(lido.equals("1")&(a==' '))
                a = jogador_activo;
            else if(lido.equals("2")&(b==' '))
                b = jogador_activo;
            else if(lido.equals("3")&(c==' '))
                c = jogador_activo;
            else if(lido.equals("4")&(d==' '))
                d = jogador_activo;
            else if(lido.equals("5")&(e==' '))
                e = jogador_activo;
            else if(lido.equals("6")&(f==' '))
                f = jogador_activo;
            else if(lido.equals("7")&(g==' '))
                g = jogador_activo;
            else if(lido.equals("8")&(h==' '))
                h = jogador_activo;
            else if(lido.equals("9")&(i==' '))
                i = jogador_activo;
            else 
     
                {
                errar = true;
                System.out.println("O espaço "+lido+" ja esta preenchido ! por favor jogue outra");
                }
        }while(errar);
     
     
        }//ler_jogada
     
        private static void desenhar_tabuleiro() {
     
            System.out.println(" ");
            System.out.print("1|2|3 ");
            System.out.println(a+"|"+b+"|"+c);
            System.out.print(" ");
            System.out.println("-----");
            System.out.print("4|5|6 ");
            System.out.println(d+"|"+e+"|"+f);
            System.out.print(" ");
            System.out.println("-----");
            System.out.print("7|8|9 ");
            System.out.println(g+"|"+h+"|"+i);
            System.out.println(" ");
            System.out.println(" ");
            System.out.println(" ");
     
     
     
        }//desenhar_tabuleiro
     
        private static void inicializar_variaveis() {
     
            a = b = c = ' ';
            d = e = f = ' ';
            g = h = i = ' ';
     
            simbolo_jogador_1 = 'X';
            simbolo_jogador_2 = 'O';
     
            jogador_activo = simbolo_jogador_1;
     
     
        }//inicializar_variaveis
     
        private static void perguntarNomes()
        {
            Scanner consola = new Scanner (System.in);
            System.out.print("Nome jogador 1 ("+nome_jogador_1+"):");
            String lido1 = consola.nextLine(); 
            if(!lido1.equals(""))
                nome_jogador_1 = lido1;
            System.out.print("Nome jogador 2 ("+nome_jogador_2+"):");
            lido2 = consola.nextLine(); 
            if(!lido1.equals(""))
                nome_jogador_2 = lido1;
     
     
        }
    }
    [/noparse]
     
    Última edição pelo moderador: 13 de Fevereiro de 2009
  2. arpinacio

    arpinacio Power Member

    Utiliza o Scan para leres o que o utilizador insere quando lhe pedes o nome. Metes isso numa String auxiliar.

    Depois é só utilizares a string que desejas quando lanças a mensagem.
     
  3. curtido

    curtido Power Member

    arpinacio isso foi o que ja tentei fazer mas da sempre erro..
     
  4. arpinacio

    arpinacio Power Member

    Primeiro
    Código:
    static char lido1;
    Segundo
    Código:
            Scanner consola = new Scanner (System.in);
            System.out.print("Nome jogador 1 ("+nome_jogador_1+"):");
            String lido1 = consola.nextLine(); 
            if(!lido1.equals(""))
                nome_jogador_1 = lido1;
            System.out.print("Nome jogador 2 ("+nome_jogador_2+"):");
            [COLOR=red][B]lido2 [/B][/COLOR]= consola.nextLine(); 
            if(!lido1.equals(""))
                nome_jogador_2 = [COLOR=red][B]lido1[/B][/COLOR];
    
     
    Última edição pelo moderador: 13 de Fevereiro de 2009
  5. curtido

    curtido Power Member

    ja mudei esses erros mas nao sei como por no metodo parabens () para fazer o que quero !
    tento por mas nao da :

    que devo mudar ?
    obrigado desde ja


    Código:
    [noparse]
    if ((lido1 == simbolo_jogador_1))
    {
    System.out.println("Parabens "+nome_jogador_1+" ganhou este jogo ! :D ");
    }
     
    else if ((lido2 == simbolo_jogador_2))
    {
    System.out.println("Parabens "+nome_jogador_1+" ganhou este jogo ! :D ");
    }
     
    boolean jn;
            do {
     
                jn = true;
     
                jn();
            }while(jn);
     
        }
    [/noparse]
     
    Última edição pelo moderador: 13 de Fevereiro de 2009
  6. arpinacio

    arpinacio Power Member

    Pronto primeiro tens nome_jogador_1 nos dois lados.

    Depois eu ainda não percebi muito bem o teu código. Mas por exemplo, tens que saber se pões 'X' ou se pões 'O', assim podes saber qual o nome que tens que lançar.

    if(X) parabens jogador1
    else parabens jogador2
     
  7. curtido

    curtido Power Member

    desculpa mas nao percebi o que queres dizer..e que ainda sou iniciante nestas andanças e preciso de acabar isto rapidamente para amanha entregar na universidade mas claro q quero perceber tambem ! tentou a tentar de varias maneiras e ainda nada..
     
  8. arpinacio

    arpinacio Power Member

    vou tentar perceber o teu código, já te digo algo :007:
     
  9. curtido

    curtido Power Member

    ok obrigado a serio :D
     
  10. arpinacio

    arpinacio Power Member

    Pronto.

    na tua funcao parabens() basta por isto:

    Código:
    if(jogador_activo == simbolo_jogador_1)
    System.out.println("Parabens" + nome_jogador_1);
    else System.out.println("Parabens" + nome_jogador_2);
    

    ou seja, se o jogador activo for o X, sabes que o jogador1 ganhou, logo mandas a mensagem com o nome do jogador1, senão foi o 2!
     
    Última edição pelo moderador: 13 de Fevereiro de 2009
  11. curtido

    curtido Power Member

    sim funciona :D muito obrigado arpinacio !
    olha sera abuso pedir ajuda noutro jogo que tenho de apresentar ?
    cumps
     
  12. arpinacio

    arpinacio Power Member

    claro que não, posso é não te responder hoje que daqui a pouco vou ver como está a noite :007:
     
  13. curtido

    curtido Power Member

    lol ok deixa la entao, eu tb tou daqi a pco pa destressar um pco disto lol :D
    obrigado !
    cumps
     

Partilhar esta Página