Jump to content
Sign in to follow this  
PaviO

Jogo de adivinha

Recommended Posts

PaviO

Boas a todos.

Tenho aqui um grande problema...

/* Programar o jogo de adivinha de um numero inteiro na faixa de 0 a 100, para

dois jogadores ( o computador e o utilizador)  em que o computador pensa em um número e

o utilizador tem de adivinhar em que número o computador pensou

Nota: utilizar o metodo Random

Observação: limitar a quantidade de tentativas exemp. 6*/

Nota2: uso o gel para programar em java

agradeço desde já a quem ajudar-me..

sou iniciante no que diz respeito a programação.

Share this post


Link to post
Share on other sites
Alcap

Nada mais simples...

import java.util.Random;
import java.util.Scanner;

public class Adivinha {

    public static void main(String[] args) {
        int tentativa = -1;
        Random generator = new Random();
        Scanner ler = new Scanner(System.in);
        int resposta = generator.nextInt(100); //gera um numero entre 0 e $argumento(neste caso o numero 100)

        do {
            System.out.printf("Introduza um numero: ");
            tentativa = ler.nextInt();
            System.out.println("");
            if (tentativa == resposta) {
                System.out.println("Parabens! Acertou!!");
            } /* (Se pertenderes dar uma ajuda ao jogador) else {
                if (tentativa < resposta) {
                    System.out.println("Tente um numero mais alto");
                } else {
                    System.out.println("Tente um numero mais baixo");
                }
            }*/
        } while (tentativa != resposta);
    }
}

Nao testei o codigo, mas em principio deve funcionar...

EDIT: Ja agora, tirado do site do Gel: "However do note that Gel is no longer being developed, if you are looking for a Java IDE I recommend Eclipse or Netbeans."

Share this post


Link to post
Share on other sites
PaviO

Bom.. tentei fazer o que eu sei e o que eu não...

tentei fazer o exercício, +  foi complicado fazer o que eu consegui fazer

podem ajudar-me?

tem de ser usada a class Math.raund


/* Programar o jogo de adivinha de um numero inteiro na faixa de 0 a 100, para

dois jogadores ( o computador e o utilizador) Nota: utilizar o metodo Random

Observ. limitar a quantidade de tentativas exemp. 6*/

    public class Adivinha

{

    public static void main (String args [])

{

    //declaração de variáveis

    int randomNumber=0; tentativas=0; // número aleatório e de tentativas

    int numi=0; palpite=0; //palpite

    int MIN=0; // mínimo número aleatório

    int MAX=100; // máximo número aleatório

    for (int numi=o; numi=100;)

    {

    randomNumber = getRandom(MIN, MAX);

    System.out.println("Um número entre " + MIN + " e " + MAX + " foi sorteado.");

    System.out.println("Você deve adivinhar qual é esse número.");

        do // controlar se o palpite do utilizador está dentro da condições exigidas ( 0 até 100)

      {

          System.out.println(" Introduza o seu palpite ");

          palpite=Le.umInt();

          if (palpite<0)

          System.out.println(" Esse palpite é inválido! O palpite mínimo é " + MIN);

          else (palpite>100)

          System.out.println(" Esse palpite é inválido! O palpite máximo é " + MAX);

      }  while (palpite<0 || palpite>100); // termina o controlo..//

    tentativas+=1;

    {    if ( palpite < (randomNumber / 2) || palpite > (randomNumber * 2) )

          System.println("Você errou. Seu palpite está longe...");

          else

          System.out.println("Você errou... mas seu palpite está perto!");

                if ( palpite < randomNumber )

                System.out.println("Seu palpite ainda é baixo demais");

                else

                System.out.println("Seu palpite ainda é alto demais");

                      if ( palpite == randomNumber )

                      System.out.println("Parabéns!! Você descobriu o número sorteado");

                      System.out.println(" O número sorteador foi " + randomNumber);

    }

  }

}

}

Share this post


Link to post
Share on other sites
PaviO

Boas,

Alcap

como é que faço o ciclo de validação DO-WHILE para o joguinho ?

eu tentei + não dá certo.. :wallbash:

 
import java.util.Random;
import java.util.Scanner;

public class Tpcc2 {

    public static void main(String[] args) {
        int tentativa = -1;
        Random generator = new Random();
        Scanner ler = new Scanner(System.in);
        int resposta = generator.nextInt(100);
        int MIN=0;
        int MAX=100;
         //gera um numero entre 0 e $argumento(neste caso o numero 100)

         do
         {
                   System.out.println(" Introduza o seu palpite ");
                   tentativa=ler.nextInt();
                {  if (tentativa<0) {
                   System.out.println(" Esse palpite é inválido! O palpite mínimo é " + MIN);
                   }

                   else {
                   (tentativa>100)
                    System.out.println(" Esse palpite é inválido! O palpite máximo é " + MAX);
                    }
                 }
         }        while (tentativa<0 || tentativa>100);

        do
        {
            if (tentativa == resposta) {
                System.out.println("Parabens! Acertou!!");
            } // (Se pertenderes dar uma ajuda ao jogador)
            else {
                if (tentativa < resposta) {
                    System.out.println("Tente um numero mais alto");
                } else {
                    System.out.println("Tente um numero mais baixo");
                }
            }
        } while (tentativa != resposta);
    }
}

Share this post


Link to post
Share on other sites
Alcap

Boas,

Alcap

como é que faço o ciclo de validação DO-WHILE para o joguinho ?

eu tentei + não dá certo.. :wallbash:

 
import java.util.Random;
import java.util.Scanner;

public class Tpcc2 {

    public static void main(String[] args) {
        int tentativa = -1;
        Random generator = new Random();
        Scanner ler = new Scanner(System.in);
        int resposta = generator.nextInt(100);
        int MIN=0;
        int MAX=100;
         //gera um numero entre 0 e $argumento(neste caso o numero 100)

         do
         {
                   System.out.println(" Introduza o seu palpite ");
                   tentativa=ler.nextInt();
                {  if (tentativa<0) {
                   System.out.println(" Esse palpite é inválido! O palpite mínimo é " + MIN);
                   }

                   else {
                   (tentativa>100)
                    System.out.println(" Esse palpite é inválido! O palpite máximo é " + MIN);
                    }
                 }
         }        while (tentativa<0 || tentativa>100);

        do
        {
            if (tentativa == resposta) {
                System.out.println("Parabens! Acertou!!");
            } // (Se pertenderes dar uma ajuda ao jogador)
            else {
                if (tentativa < resposta) {
                    System.out.println("Tente um numero mais alto");
                } else {
                    System.out.println("Tente um numero mais baixo");
                }
            }
        } while (tentativa != resposta);
    }
}

Tu queres terminar o ciclo quando a tentativa for igual à resposta. Se quiseres validar a tentativa (para confirmar que esta entre o 0 e 100) precisas de um ciclo dentro do do... while, para que o valor da tentativa esteja entre 0 e 100. No entanto, acho desnecessario, ja que o objectivo é acertar num numero entre 0 e 100, um gajo que diga numeros fora desse range tem 100% de certezas em como esta errado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.