Java - Alguien puede ayudarme hacer este programa?

 
Vista:

Alguien puede ayudarme hacer este programa?

Publicado por Fernando (2 intervenciones) el 11/07/2021 12:21:42
Clase JuegoAdivinaNumero
Deriva de la clase Juego
Tiene un constructor que toma dos parámetros de tipo entero. El primero es el
número de vidas que, a su vez, se lo pasará al constructor de la clase base. El
segundo parámetro es un número a adivinar entre 0 y 100.
Implementa el método Juega de la clase base:
Llama al método ReiniciaPartida que ha heredado.
Muestra un mensaje al usuario pidiendo que adivine un número entre el 0
y el 100.
Lee un entero del teclado y lo compara con el valor predefinido por el
programador:
1. Si es igual, muestra un mensaje Acertaste!! y, tras llamar a
ActualizaRecord, sale del método.
2. Si es diferente, llama al método QuitaVida heredado.
3. Si el método QuitaVida devuelve true, significa que aún le quedan
más vidas al jugador por lo que se muestra un mensaje indicando si el
número a adivinar es mayor o menor y se le pide que lo intente de
nuevo.
4. Si el método QuitaVida devuelve false significa que ya no le quedan
más vidas al jugador, con lo que sale del método Juega.
Clase Aplicación
• Contiene un método main que, tras crear una instancia de la nueva clase
JuegoAdivinaNumero que se ha creado, llama al método Juega.
2- Escriba un programa en lenguaje java que solicite al usuario ingresar 9 números,
estos números se almacenaran en una matriz de 3x3. Los números en posición par
se sumaran y los de posición impar se restaran. Para calcular si el número está en
posición par o impar se usara la suma de los 2 subíndices, se considerara el 0 como
par. Gestione los posibles errores de excepciones.
3- Crear un programa que solicite números naturales hasta que el usuario desee
terminar. Por cada número introducido se deberá visualizar: a través de métodos
a. Si el número es primo: su factorial.
b. Y si el número no es primo: sus múltiplos menores que 1000.
Gestione los posibles errores de excepciones
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Alguien puede ayudarme hacer este programa?

Publicado por Kabuto (1381 intervenciones) el 13/07/2021 11:54:07
En realidad has puesto varios ejercicios. Vamos a ver el primero.

Leyendo el enunciado se deduce que hay que usar una clase Juego que ya deberías tener escrita previamente, quizás de un ejercicio anterior.

No se como será esa clase Juego, pero supongo que será algo parecido a esto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class Juego {
 
	private final int VIDAS;
	private int vidasRestantes;
	private int record;
 
	public Juego (int vidas) {
		this.VIDAS = vidas;
	}
 
	public void reiniciaPartida() {
		vidasRestantes = VIDAS;
	}
 
	public void actualizaRecord() {
		if (vidasRestantes > record)
			record = vidasRestantes;
	}
 
	public boolean quitaVida() {
		vidasRestantes--;
		return vidasRestantes > 0; //Si vidas es igual a 0, retornará FALSE
	}
 
}
Al menos, esta clase tiene lo necesario para hacer funcionar la siguiente clase JuegoAdivinaNumero que es la que el ejercicio pide escribir.
Hereda de Juego, así que contará con los métodos de esta clase.

Se pide que el constructor reciba el numero de vidas, que se le entrega a la superclase Juego y que reciba también el número que hay que adivinar, que guardaremos como atributo de esta clase.

Luego se nos pide definirle el método juega().
Este método usa los métodos de la superclase para algunas funciones del juego como restar vidas al fallar y comprobar si quedan vidas para seguir jugando.
Él mismo se encarga de pedir número por teclado, comparar con el número secreto, informar de si es mayor o menor y de cuándo ha ganado o perdido el usuario.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import java.util.Scanner;
 
public class JuegoAdivinaNumero extends Juego{
 
	private int numAdivinar;
	private Scanner teclado;
 
	public JuegoAdivinaNumero(int vidas, int numAdivinar) {
		super(vidas);
		this.numAdivinar = numAdivinar;
		teclado = new Scanner(System.in);
	}
 
	public void juega() {
 
		reiniciaPartida();
		boolean continuar = true;
 
		while(continuar) {
 
			System.out.print("Adivina un numero entre 0 y 100: ");
			int numero = teclado.nextInt();
 
			if (numero == numAdivinar) {
				System.out.println("Acertaste!!");
				actualizaRecord();
				continuar = false;
			}
			else {
				if (quitaVida()) {
					System.out.print("El numero secreto es ... ");
					System.out.println(numAdivinar>numero?"Mayor":"Menor");
					System.out.println("Inténtalo otra vez...\n");
				}
				else {//quitaVida() retorna false
					System.out.println("Perdiste!! Has agotado tus vidas.");
					continuar = false;
				}
			}
		}
	}
 
}

Si te fijas, el método juega() consiste básicamente en cumplir paso a paso las intrucciones del enunciado:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Implementa el método Juega de la clase base:
 
Llama al método ReiniciaPartida que ha heredado.
 
Muestra un mensaje al usuario pidiendo que adivine un número entre el 0
y el 100.
 
Lee un entero del teclado y lo compara con el valor predefinido por el
programador:
 
1. Si es igual, muestra un mensaje Acertaste!! y, tras llamar a
ActualizaRecord, sale del método.
 
2. Si es diferente, llama al método QuitaVida heredado.
 
3. Si el método QuitaVida devuelve true, significa que aún le quedan
más vidas al jugador por lo que se muestra un mensaje indicando si el
número a adivinar es mayor o menor y se le pide que lo intente de
nuevo.
 
4. Si el método QuitaVida devuelve false significa que ya no le quedan
más vidas al jugador, con lo que sale del método Juega.


Por último la clase Aplicacion, que simplemente lo que hace es instanciar un objeto de JuegoAdivinaNumero y comenzar el juego.

1
2
3
4
5
6
7
8
9
10
11
public class Aplicacion {
 
	public static void main(String[] args) {
 
		var adivinar = new JuegoAdivinaNumero(10,36); //Indicamos vidas y el número secreto
		adivinar.juega();
		System.out.println("\n\t\tFIN DE PROGRAMA");
 
	}
 
}


Revisa el código y comprueba que entiendes cada línea e instrucción. Lo que no entiendas, pregúntalo y lo aclaramos.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar