Juego de adivinanzas de Java (versión mejorada de segunda generación)

La primera generación es una cantidad ilimitada de juegos, y esta es una versión mejorada del juego de adivinanzas de números, que limitará la cantidad de veces que puedes jugar el juego. El conocimiento involucrado se basa en la primera generación, además de la recopilación y el flujo de IO. .

1. Área de código:

Código de clase de juego:

paquete de juego de adivinanzas;

importar java.util.Random;
importar java.util.Scanner;

Juego de clase pública {

    public static void game() {         System.out.println("¡Bienvenido al juego de adivinanzas!");         Random r=new Random();         //Obtenga un número aleatorio del 1 al 100         int i=r.nextInt(100 ) +1;         //Define un valor x que ha sido adivinado varias veces         int x=0;         //Realiza un bucle infinito de adivinanzas         while(true) {             x++;//Aumenta el número de veces en uno cada vez que adivinas             // Haz un juicio sobre el número de veces Si ya has adivinado 5 veces antes, no puedes volver a adivinar. Este 6 se debe a que cuando comienza el bucle infinito, el número de veces aumentará en uno, por lo que es equivalente a que puedas 't play if(x<6) después de jugar 5             veces {                 //Ingrese en la consola el número a adivinar         Scanner e=new Scanner(System.in);         System.out.println("Ingrese el número que desea adivinar:");         int index=e.nextInt() ;         //Este juicio es para juzgar el tamaño del número que adivinó y el número aleatorio del sistema         if(index<i) {














        

        


            System.out.println("El número que adivinó"+índice+"demasiado pequeño");
        }else if(índice>i) {             System.out.println("El número que adivinó"+índice+"demasiado grande");         } else {             System.out.println("¡Felicitaciones, ha ganado el gran premio!");             break;//Si acierta, debe salir del bucle         }         }             else {                 System.out.println("Lo siento mucho , esta conjetura El número de veces se ha agotado");                 break;//Si el número de conjeturas supera las 5 veces, también es necesario salir del bucle             }}     } }











 

 

Ejecutar código de clase:

paquete de juego de adivinanzas;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Properties;
/**
 * La clase principal de la colección de propiedades es Map, cada clave Correspondiente a su valor
 * @author Xiaonan
 *
 */
public class Properties{ public static void main(String[] args) throws Exception{     //Crea una colección primero,     Properties pr=new Properties();     //Luego crea un personaje objeto de flujo de entrada de búfer, el objeto de archivo debe existir y escribir algo, esto introducirá     BufferedReader br=new BufferedReader(new FileReader("D:/test.txt"));     //el método de carga es escribir el contenido del archivo en la colección     pr.load(br);     //System.out.println(pr);Aquí puede comprobar si la colección está escrita     pr.clone();//Cerrar el flujo









    


    //Esto es para llamar al método getProperty para obtener el valor correspondiente a través de la clave, porque el valor en el archivo es de tipo int en este momento, por lo que debe convertirse en tipo
    


    int number=Integer.parseInt(pr.getProperty("cot"));
    //Este número indica la cantidad de veces que has jugado este juego. Si son más de 3 veces, no puedes jugarlo
    if(number>=3 ) {         System.out .println("La prueba ha terminado, recárgala si quieres jugar: https://www.xiaonan.com/"); }     else {         //Llama al código de juego escrito         Game.game() ;         //Y haga que el juego se juegue Agregue un         número ++ al número de veces;         //Reescriba el número actualizado de juegos jugados en la colección, porque los dos parámetros del método setProperty son ambos tipos de cadenas, por lo que es necesario escribir convert el número pr.setProperty         ("cot", String.valueOf (número));         //Cree un objeto de flujo de salida de caracteres almacenados en búfer, el objeto de archivo, que es el archivo anterior         BufferedWriter bw=new BufferedWriter(new FileWriter("D:/ test.txt"));         //Utilice el método de almacenamiento único de la colección Write, el segundo parámetro de este método es describirlo, puede escribir         pr.store vacío (bw,null);         //Cerrar el flujo         pr.clone();














        bw.cerrar();
    } }
}

 

La función de este archivo es registrar la cantidad de veces que el jugador ha jugado el juego de adivinanzas. El contenido inicial de este archivo es solo una línea, es decir, cot = 0, cot es la clave en la colección y el número de times es el valor correspondiente a cot.Después de jugar el juego una vez, el valor correspondiente cambiará y agregará una operación más;cuando establecemos el número de veces para jugar este juego gratis, podemos juzgar por el valor correspondiente a cot, si todavía es posible jugar gratis.

 

Ideas de diseño:

Sobre la base de la primera generación, se agrega nuevamente un límite en la cantidad de veces para jugar, porque justo después de aprender el flujo de IO, pienso en una escritura mutua entre la colección y el flujo de IO, primero escriba los datos en el archivo a la colección, y luego escribe los datos modificados de la colección al archivo, y luego lee los datos en el archivo para determinar la cantidad de veces que se juega el juego.

Aquí, se utiliza el método único void (Lector lector) de las propiedades de la colección; es para escribir el contenido del archivo en la colección.

tienda vacía (escritor escritor, comentarios de cadena), el segundo parámetro es modificarlo, puede completar nulo

resultado de la operación:

Las tres primeras veces:

 Cuando se ejecuta por cuarta vez, indicará que los tiempos libres están agotados

 En este momento, el contenido del archivo también se modifica con la ejecución del programa.

 

¡Gracias por ver, muchas gracias!

Supongo que te gusta

Origin blog.csdn.net/m0_62780474/article/details/123951171
Recomendado
Clasificación