Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
Boa tarde a todos!!
Estou tentando fazer um exercício aparentemente básico.
"Desenvolva um programa em Java que simule um jogo de adivinhação. Primeiramente, o programa deverá pedir o nome do jogador, depois sortear um número entre 0 e 100. Após o sorteio, inicia-se o jogo e o jogador deverá tentar adivinhar o número sorteado.
A cada tentativa, o jogo deverá informar se o “chute” do jogador foi maior ou menor do que o número a ser adivinhado. O jogo termina após vinte tentativas erradas ou quando o jogador acertar o número sorteado e, nesse caso, informe a quantidades de tentativas que foram necessárias. Após o término do jogo será mostrado o nome do jogador seguido da quantidade de tentativas, o jogador deverá decidir então se deseja ou não iniciar um novo jogo."
Estou com dúvida de como fazer para ele mostrar no final em qual tentativa o usuário acertou.
Vou postar meu código até agora do que fiz.
Lembrando que sou iniciante,as vezes a lógica não pode estar perfeita, ou nem perto disso...rsrs[/code]
Boa tarde a todos!!
Estou tentando fazer um exercício aparentemente básico.
"Desenvolva um programa em Java que simule um jogo de adivinhação. Primeiramente, o programa deverá pedir o nome do jogador, depois sortear um número entre 0 e 100. Após o sorteio, inicia-se o jogo e o jogador deverá tentar adivinhar o número sorteado.
A cada tentativa, o jogo deverá informar se o ?chute? do jogador foi maior ou menor do que o número a ser adivinhado. O jogo termina após vinte tentativas erradas ou quando o jogador acertar o número sorteado e, nesse caso, informe a quantidades de tentativas que foram necessárias. Após o término do jogo será mostrado o nome do jogador seguido da quantidade de tentativas, o jogador deverá decidir então se deseja ou não iniciar um novo jogo."
Estou com dúvida de como fazer para ele mostrar no final em qual tentativa o usuário acertou.
Vou postar meu código até agora do que fiz.
Lembrando que sou iniciante,as vezes a lógica não pode estar perfeita, ou nem perto disso...rsrs[/code]
Você está comparando o número (random) com o número de tentativas (numTentativas). Quer dizer que se "Random" for um (1) vai acertar de primeira, independente do chute?
Dá uma revisada nisso.
Só uma dica, você deve comparar se o número é igual do mesmo jeito que verifica se ele é maior ou menor!
Você pode ter quantas estruturas de "if" você quiser, assim:
Você poderia colocar a condição ali (else if (num == 10)), mas não era realmente necessário.
Cara, isso ta mais para "exercício de chute" do que de adivinhação.
20 tentativas de acertar um numero entre 100. Nao é questão de adivinhação, mas de probabilidade.
Nao importa oq vc tentar adivinhar, se vc jogar 12903610231 vezes o jogo vc só vai conseguir acertar o numero 1/5 das vezes jogadas. Simples assim.
E, pelo amor de deus, faça testes com sort de 1 a 10 e com 2 tentativas. As chances são as mesmas e a unica coisa q vai mudar eh seu tempo que não vai ser perdido à toa. _________________ION, you're mine.
Fiz algumas correções, e tive pontos positivos.Mais algumas coisas negativas.
No código agora , após acertar o número,ele mostra a tela "tentar o numero maior " e em seguida a tela certa de acerto.
Introduzi o confirmDialog do JOptionPane.Preciso atribuir ações para o botão que ele selecionar,isto eu sei, mais vou te que da um return pra voltar ao inicio do jogo caso ele queira jogar novamente,vou precisar então criar um método inicio?
Introduzi o confirmDialog do JOptionPane.Preciso atribuir ações para o botão que ele selecionar,isto eu sei, mais vou te que da um return pra voltar ao inicio do jogo caso ele queira jogar novamente,vou precisar então criar um método inicio?
Introduzi o confirmDialog do JOptionPane.Preciso atribuir ações para o botão que ele selecionar,isto eu sei, mais vou te que da um return pra voltar ao inicio do jogo caso ele queira jogar novamente,vou precisar então criar um método inicio?
Coloque o seu código dentro de um laço while, que vai continuar começando novos jogos até que o usuário peça pra sair
E sob ele mostrar a tela "tente um numero maior" ? Como disse eu acerto o número,ele mostra essa tela seguida da tela correta.
Outra coisa, quando coloco o primeiro palpite, ele fala pra tentar de novo,e não diz se é maior ou menor,só diz do segundo palpite em diante.O que pode ser?
Introduzi o confirmDialog do JOptionPane.Preciso atribuir ações para o botão que ele selecionar,isto eu sei, mais vou te que da um return pra voltar ao inicio do jogo caso ele queira jogar novamente,vou precisar então criar um método inicio?
Coloque o seu código dentro de um laço while, que vai continuar começando novos jogos até que o usuário peça pra sair
E sob ele mostrar a tela "tente um numero maior" ? Como disse eu acerto o número,ele mostra essa tela seguida da tela correta.
Outra coisa, quando coloco o primeiro palpite, ele fala pra tentar de novo,e não diz se é maior ou menor,só diz do segundo palpite em diante.O que pode ser?
Siga a lógica.
Alguns ifs e elses estão fora do lugar.
Vai seguindo linha por linha enquanto executa que você percebe onde está o erro. _________________Sekkuar ~ Ex-Catador Executivo do Javafree - (Não mais) Catando os tópico tudo.
"The mod javafree deserves, but not the one it needs right now."
Introduzi o confirmDialog do JOptionPane.Preciso atribuir ações para o botão que ele selecionar,isto eu sei, mais vou te que da um return pra voltar ao inicio do jogo caso ele queira jogar novamente,vou precisar então criar um método inicio?
Coloque o seu código dentro de um laço while, que vai continuar começando novos jogos até que o usuário peça pra sair
E sob ele mostrar a tela "tente um numero maior" ? Como disse eu acerto o número,ele mostra essa tela seguida da tela correta.
Outra coisa, quando coloco o primeiro palpite, ele fala pra tentar de novo,e não diz se é maior ou menor,só diz do segundo palpite em diante.O que pode ser?
Siga a lógica.
Alguns ifs e elses estão fora do lugar.
Vai seguindo linha por linha enquanto executa que você percebe onde está o erro.
Agora está certo.
Vou agora tentar fazer a parte final do código , vou pensar aqui pra ver se entendo essa lógica do laço que sugeriu.Estou vendo aonde ficaria ele.
Porque, enquanto vc ainda está testando, você não faz o sort em vez de 1 a 100, de 1 a 10?
Vc pode deixar o numero de tentativas 10 também. Assim, você não precisaria de fato adivinhar o numero, e pode fazer os testes de forma mais rápida. _________________ION, you're mine.
Fiz algumas correções, e tive pontos positivos.Mais algumas coisas negativas.
No código agora , após acertar o número,ele mostra a tela "tentar o numero maior " e em seguida a tela certa de acerto.
Introduzi o confirmDialog do JOptionPane.Preciso atribuir ações para o botão que ele selecionar,isto eu sei, mais vou te que da um return pra voltar ao inicio do jogo caso ele queira jogar novamente,vou precisar então criar um método inicio?
Segue o código até agora.
Esta sobrando um for(int i = 0; i < 20; i++) _________________Att,
Lucas iorio
Analista programador
http://www.byiorio.com
Fazendo como o Sekkuar sugeriu pelo While ficou assim:
PROBLEMA: se eu coloco pra jogar novamente,ele não sorteia outro numero,e continua contando as alternativas da onde parou.Ou seja se errei 8 vezes antes de acertar o jogo passado,e começo um novo jogo , ao errar ele conta como 9 erros.
Fazendo como o Sekkuar sugeriu pelo While ficou assim:
PROBLEMA: se eu coloco pra jogar novamente,ele não sorteia outro numero,e continua contando as alternativas da onde parou.Ou seja se errei 8 vezes antes de acertar o jogo passado,e começo um novo jogo , ao errar ele conta como 9 erros.
Fazendo como o Sekkuar sugeriu pelo While ficou assim:
PROBLEMA: se eu coloco pra jogar novamente,ele não sorteia outro numero,e continua contando as alternativas da onde parou.Ou seja se errei 8 vezes antes de acertar o jogo passado,e começo um novo jogo , ao errar ele conta como 9 erros.
Muito óbvio isso, não?
Ao começar um novo jogo, você precisa reiniciar as variáveis.
Pretty basic.
Correto, isso eu sabia.Só não sei como fazer pra zerar as variaveis.
Redundância a favor do aprendizado hehehehe =] se bem que já coloquei as linhas. _________________Att,
Lucas iorio
Analista programador
http://www.byiorio.com
os valores iniciais que estavam no começo de seu programa.
Valores iniciais geralmente são os que estão no inicio do programa.
Indeed.
Imaginei quais seriam os valores iniciais do meio ou do fim do programa...
Confuso...
fuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
Soltei um borboleta em alemão agora !! _________________Att,
Lucas iorio
Analista programador
http://www.byiorio.com
Eu parei de tentar ajudar nesse tópico por isso.
Com esses nomes de variáveis eu me confundi tanto que desisti de ajudar.
Tentei postar, quando entendi que "tentativas" era o que o usuário digitou eu virei a mesa em que estava (quebrei uma caneca e meu mouse) e fui embora. Só voltei para comentários esparsos, como esse. _________________Ryuuji
"The mod javafree deserves, but not the one it needs right now."
bimrockPosts:19
Boa tarde a todos!!
Estou tentando fazer um exercício aparentemente básico.
"Desenvolva um programa em Java que simule um jogo de adivinhação. Primeiramente, o programa deverá pedir o nome do jogador, depois sortear um número entre 0 e 100. Após o sorteio, inicia-se o jogo e o jogador deverá tentar adivinhar o número sorteado.
A cada tentativa, o jogo deverá informar se o “chute” do jogador foi maior ou menor do que o número a ser adivinhado. O jogo termina após vinte tentativas erradas ou quando o jogador acertar o número sorteado e, nesse caso, informe a quantidades de tentativas que foram necessárias. Após o término do jogo será mostrado o nome do jogador seguido da quantidade de tentativas, o jogador deverá decidir então se deseja ou não iniciar um novo jogo."
Estou com dúvida de como fazer para ele mostrar no final em qual tentativa o usuário acertou.
Vou postar meu código até agora do que fiz.
Lembrando que sou iniciante,as vezes a lógica não pode estar perfeita, ou nem perto disso...rsrs[/code]
MathewsMottaPosts:1020
Ué? Faz um contador...

Cada vez que ele tentar, conta +1 quando ele acertar exibe o numero de tentativas!
_________________ION, you're mine.
ryuujiPosts:1116