第 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 回目に実行すると、空き時間がなくなったことを示すメッセージが表示されます。
このとき、プログラムの実行に伴ってファイルの内容も変更されます。
ご覧いただきありがとうございます、ありがとうございました!