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 ! ' 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]
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.
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];
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]
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
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..
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!
sim funciona muito obrigado arpinacio ! olha sera abuso pedir ajuda noutro jogo que tenho de apresentar ? cumps