Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Mini proyecto: adivina el número

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

45 minutos

Piensa un número del 1 al 100

Un amigo piensa un número del 1 al 100. Tú dices uno. Él contesta "más alto" o "más bajo". Sigues hasta acertar.

Hoy programas ese juego. No hay nada nuevo que aprender: usas lo que ya sabes.

Variables, if, while y métodos. Cada pieza hace una cosa, y juntas forman un juego.

Palabras clave

PalabraQué significaEjemplo
Número secretoEl número que hay que adivinar. Lo elige el programa.int secret
IntentoCada número que escribe el jugador.int guess
PistaLo que contesta el programa: más alto, más bajo o acertaste.hint(secret, guess)
RandomUna clase que saca números al azar.new Random()
Dividir el problemaPartir un programa grande en piezas pequeñas que se prueban por separado.hint, play, rating

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

El plan: cuatro piezas

Un programa grande se hace por partes. Para este juego necesitas cuatro:

  1. Elegir el número secreto.
  2. Leer el intento del jugador.
  3. Dar la pista.
  4. Contar los intentos y decir la nota.

Cada pieza será una variable o un método.

Ordena las piezas del juego

Inténtalo

Ordena las piezas del juego

3 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

Pruébalo: la pista

Código: java
public class Main {
    static String hint(int secret, int guess) {
        if (guess < secret) {
            return "Más alto";
        } else if (guess > secret) {
            return "Más bajo";
        }
        return "¡Acertaste!";
    }

    public static void main(String[] args) {
        int secret = 42;
        System.out.println(hint(secret, 30));
        System.out.println(hint(secret, 50));
        System.out.println(hint(secret, 42));
        // Prueba otros números.
    }
}

Ejemplo resuelto: la pista con el secreto 42

Intento¿Menor, mayor o igual que 42?Pista
30MenorMás alto
50MayorMás bajo
42Igual¡Acertaste!

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

El bucle del juego

El juego repite lo mismo hasta acertar. Eso es un while.

Antes del bucle pones dos variables: attempts, que cuenta los intentos, y won, que dice si ya acertó.

En cada vuelta lees un número, sumas un intento, das la pista y miras si acertó.

Pruébalo: una partida con intentos de mentira

Código: java
import java.util.Scanner;

public class Main {
    static String hint(int secret, int guess) {
        if (guess < secret) return "Más alto";
        if (guess > secret) return "Más bajo";
        return "¡Acertaste!";
    }

    public static void main(String[] args) {
        int secret = 42;
        // Estos números hacen de teclado: son los intentos del jugador.
        Scanner in = new Scanner("50 25 37 42");

        int attempts = 0;
        boolean won = false;
        while (!won && in.hasNextInt()) {
            int guess = in.nextInt();
            attempts++;
            System.out.println(guess + ": " + hint(secret, guess));
            won = guess == secret;
        }
        System.out.println("Intentos: " + attempts);
    }
}

La lección continúa

11 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.