Java推理ゲーム(第二世代強化版)

第 1 世代はゲーム数無制限で、これはゲームをプレイできる回数が制限される数字当てゲームのアップグレード バージョンです。関連する知識は第 1 世代に基づいており、収集と IO フローが追加されています。 。

1. コード領域:

ゲームクラスコード:

パッケージ当てゲーム。

java.util.Randomをインポートします。
java.util.Scannerをインポートします。

パブリック クラス ゲーム {

    public static void game() {         System.out.println("推理ゲームへようこそ!");         Random r=new Random();         //1~100の乱数を取得         int i=r.nextInt(100 ) +1;         //複数回推測された値 x を定義します         int x=0;         //推測の無限ループを実行します         while(true) {             x++;//推測するたびに回数を 1 つ増やします             //回数で判断する すでに5回当てたことがある場合は、再度当てることはできません この6回は、無限ループが始まると回数が1回増えるので、当てられることに相当します't play if(x<6) after play 5             time {                 //コンソールに出力、推測する番号         Scanner e=new Scanner(System.in);         System.out.println("推測したい番号を入力してくださいguess:");         int index=e.nextInt() ;         //この判定は、推測した数値とシステムの乱数の大小を判定するものです         if(index<i) {














        

        


            System.out.println("推測した数字"+index+"小さすぎます");
        }else if(index>i) {             System.out.println("推測した数字"+index+"大きすぎます");         } else {             System.out.println("おめでとうございます、大賞を受賞しました!");             Break;//推測が正しければ、ループを終了する必要があります         }         }             else {                 System.out.println("大変申し訳ありませんでした) , この推測 回数を使い果たしました");                 Break;//推測回数が5回を超えた場合はループを抜けることも必要です             }}     } }











 

 

クラスコードを実行します。

パッケージ当てゲーム。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Properties;
/**
 * Properties コレクションの親クラスは Map であり、それぞれkey 値に対応
 * @author Xiaonan
 *
 */
public class Properties{ public static void main(String[] args) throws Exception{     //最初にコレクションを作成し、     Properties pr=new Properties();     //次にキャラクターを作成バッファ入力ストリーム オブジェクト、ファイル オブジェクトが存在し、何かを書き込む必要があります。これ     により BufferedReader が導入されます。 br=new BufferedReader(new FileReader("D:/test.txt"));     //load メソッドはファイルの内容を書き込みます。 the collection     pr.load(br);     //System.out.println(pr); ここで、コレクションが書き込まれているかどうかを確認できます     pr.clone();//ストリームを閉じます









    


    //これは getProperty メソッドを呼び出して、キーを通じて対応する値を取得します。現時点ではファイル内の値は int 型であるため、型変換する必要があります。
    


    int number=Integer.parseInt(pr.getProperty("cot"));
    //この数字は、このゲームをプレイした回数を示します。3 回を超えるとプレイできません
    if(number>=3 ) {         System.out .println("トライアルは終了しました。プレイしたい場合はリチャージしてください: https://www.xiaonan.com/");     }else {         //書かれたゲームコードを呼び出します         Game.game() ;         //そしてゲームをプレイさせる         回数に数値++を追加します;         //setPropertyメソッドの2つのパラメータがどちらもString型なので、更新されたゲームプレイ数をコレクションに書き換えます。数値 pr.setProperty         ("cot", String.valueOf (number));         // バッファリングされた文字出力ストリーム オブジェクト、つまり前のファイルであるファイル オブジェクトを作成します         BufferedWriter bw=new BufferedWriter(new FileWriter("D:/ test.txt"));         //コレクション Write の一意のストア メソッドを使用します。このメソッドの 2 番目のパラメータはそれを記述し、空の         pr.store(bw,null);         //ストリームを閉じる         pr.clone();














        bw.close();
    } }
}

 

このファイルの機能は、プレーヤーが推測ゲームをプレイした回数を記録することです。このファイルの最初の内容は 1 行だけです。つまり、cot=0、cot はコレクション内のキーであり、その数は回はコットに対応する値です。ゲームを一度プレイすると、対応する値が変化して操作が 1 つ追加されます。このゲームを無料でプレイする回数を設定する場合、コットに対応する値によって判断できます。まだ無料でプレイできるかどうか。

 

デザインのアイデア:

初代をベースに、IOストリームを学習した直後はコレクションとIOストリームの相互書き込みを考えて、まずデータを書き込みますので、再度ゲームのプレイ回数制限が追加されています。ファイルをコレクションに書き込み、コレクションから変更されたデータをファイルに書き込み、ファイル内のデータを読み取ってゲームがプレイされた回数を判断します。

ここではコレクションPropertiesの独自メソッドvoid(Reader Reader)を使用し、ファイルの内容をコレクションに書き込みます。

void store(Writer Writer, String comments)、2 番目のパラメータはそれを変更するためのもので、null を入力できます。

操作結果:

最初の 3 回:

 4 回目に実行すると、空き時間がなくなったことを示すメッセージが表示されます。

 このとき、プログラムの実行に伴ってファイルの内容も変更されます。

 

ご覧いただきありがとうございます、ありがとうございました!

おすすめ

転載: blog.csdn.net/m0_62780474/article/details/123951171