Red de conocimiento informático - Aprendizaje de programación - Requisitos del minijuego de programación Java: el programa genera aleatoriamente entre 20 y 50 coincidencias.

Requisitos del minijuego de programación Java: el programa genera aleatoriamente entre 20 y 50 coincidencias.

¿Por qué utilizar AWT en lugar de swing?

La idea del algoritmo es muy simple

Es el principio ganador

Utiliza el método inverso: si quieres obtener el último, debes dejar 2 allí. Si quieres quedarte con 2, debes dejar 2+3+1=6 para el oponente en la ronda anterior (se necesita uno, se necesitan tres, se necesitan dos, se toman dos, se necesitan). tres, tomas uno. Todos dejan 2 piezas). Otra ronda hacia arriba, es 6+4=10.

Principio ganador: descomponga el número de partidos generados aleatoriamente en: 2+4 elevado a la enésima potencia + m, (m≤3, cuando m = 0, el último jugador gana. 2, 3, el que llegue primero gana. La primera persona que tome m dejará 2+4 elevado a la enésima potencia para la otra parte. No importa cuánto tome la otra parte, la suma del número que usted toma y la otra parte es igual a 4. Hasta el final, son 2 raíces. Dejado para la otra parte De acuerdo con las reglas, la otra parte solo puede tomar uno, deja uno para que ganes.

Otro: Gana el que se lleva todas las piezas (incluida la última): deja al final 4 piezas para el oponente, no importa cuántas se lleve el oponente, puedes cogerlas todas a la vez. En la ronda anterior también se sumaron 4.

Principio ganador: descomponga el número de coincidencias generadas aleatoriamente en: 4 elevado a la enésima potencia + m, (m≤3, cuando m=0, gana el último ganador. y 3, gana el que llegue primero. La persona que toma primero toma my deja 4 elevado a la enésima potencia para la otra parte No importa cuánto tome la otra parte, la suma del número que tomas y la otra parte es igual a 4. Hasta el final, quedan 4 raíces. para la otra parte.

La depuración de código está disponible

Solo toma 20 minutos crear una interfaz usando GUI usted mismo

import java.util.Scanner;

clase pública MatchGame {

escáner de escáner estático privado = nuevo escáner (System.in);;

total de int privado;

computadora privada com;

privado estático int salida = 1;

público MatchGame(int desde, int hasta, nivel de cadena) {

if (desde >= hasta) {

throw new IllegalArgumentException();

}

total = (int)( Math.random() * (a - desde)) + desde;

com = nueva Computadora(nivel);

}

public void start() {

System.out.println("0 significa final del juego, 4 significa reiniciarJuego!");

System.out.println("El número de coincidencias es " + total);

System.out.println("~Iniciar~") ;

System.out.println("----------------------------------- -- ---");

while (true) {

int u = scanner.nextInt();

if (u > 0 && u < 4 ) {

System.out.println("Ingresaste " + u);

if (total - u <= 0) {

salir = 2 ;

endGame();

}

total = total - u;

System.out.println("Total : " + total);

int c = com.play(u, total);

System.out.println("La computadora seleccionada " + c + " coincide ~") ;

if (total - c <= 0) {

salir = 0;

endGame();

}

total = total - c;

System.out.println("Total : " + total);

}si no (u == 0) {

endGame();

}si no (u > 4 || u < 0) {

System.out.printl

n("Ingresaste un número incorrecto~");

} else {

restart();

}

}

}

reinicio vacío estático público() {

juego MatchGame;

System.out

.println( "Seleccione el nivel de computadora: 1:DIFÍCIL 2:NORMAL 3:FÁCIL");

int nivel = scanner.nextInt();

if (nivel == 1) {

juego = nuevo MatchGame(20, 50, Computer.HARD);

} else if (nivel == 2) {

juego = new MatchGame(20 , 50, Computadora.NORMAL);

} else {

juego = new MatchGame(20, 50, Computadora.EASY);

}

juego.start();

}

public static void endGame() {

if (exit == 0) {

System.out.println("¡¡¡TU GANA!!!");

} else if (exit == 2) {

System.out.println(" ¡¡¡PIERDES!!!");

}

System.exit(salir);

}

clase pública estática Computadora {

Cadena estática privada EASY = "EASY";

Cadena estática privada NORMAL = "NORMAL";

Cadena estática privada HARD = "DIFÍCIL"; p>

cadena estática privada NIVEL;

privado int com;

computadora pública (nivel de cadena) {

NIVEL = nivel;

}

public int play(int usuario, int total) {

if (LEVEL.equals(EASY)) {

com = 1;

} else if (LEVEL.equals(NORMAL)) {

com = (int) (Math.random() * 2) + 1;

} else {

int i;

if (total % 4 == 0) {

i = total / 4 - 1;

} else {

i = total / 4;

}

com = total - 4 * i - 1;<

/p>

if (com == 0) {

com = 4 - usuario;

}

}

return com;

}

}

public static void main(String[] args) {

juego MatchGame;

System.out

.println("Seleccione el nivel de computadora: 1:DIFÍCIL 2:NORMAL 3:FÁCIL");

int nivel = scanner.nextInt() ;

if (nivel == 1) {

juego = new MatchGame(20, 50, Computer.HARD);

} else if (nivel = = 2) {

juego = nuevo MatchGame(20, 50, Computer.NORMAL);

} else {

juego = new MatchGame(20, 50 , Computadora.EASY);

}

juego.start();

}

}