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; p>
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();
} p>
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();
}
} p>
}
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> p>
cadena estática privada NIVEL;
privado int com;
computadora pública (nivel de cadena) {
NIVEL = nivel; p>
}
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();
}
}