游戏次数案例
需求:实现猜数字小游戏只能试玩3次,如果还想玩,就会提示:游戏试玩已结束,请前往充值(www.baidu.com)
思路: 1、写一个游戏类,里面有一个猜数字的小游戏 2、写一个测试类,测试类中有main()方法,main方法()中按照下面步骤完成: (1)从文件中读取数据到Properties集合,用load方法实现。且要求文件已经存在,如game.txt;还要求里面有一个键值对数据值,如count=0 (2)再通过Properties集合获取到玩游戏的次数 (3)再判断次数是否达到3次 1、如果到了就给出提示:游戏试玩已结束,请前往充值(www.baidu.com) 2、如果不到3次,就继续玩游戏,且次数+1,重新写回文件,用Properties的store()方法实现
游戏次数案例的练习
xxxxxxxxxx
package ch20;
import java.util.Random;
import java.util.Scanner;
public class a_16_1GuessNumber {
private a_16_1GuessNumber(){
}
public static void start() {
//要完成猜数字的游戏,首先需要有一个要猜的数字,使用随机数生成该数字,范围1~100
Random r = new Random();
int number = r.nextInt(100) + 1;
while (true){
Scanner sc = new Scanner(System.in);
System.out.println("在1~100猜猜正确的数字吧: ");
int guessNumber = sc.nextInt();
//比较输入的数字和系统产生的数据,需要使用分支语句
if(guessNumber > number){
System.out.println("你猜的数字"+guessNumber+"大了,继续猜吧");
System.out.println("----------------------");
} else if(guessNumber < number){
System.out.println("你猜的数字"+guessNumber+"小了,继续猜吧");
System.out.println("----------------------");
} else{
System.out.println("恭喜你猜中了");
break;
}
}
}
}
xxxxxxxxxx
package ch20;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
//每玩一次,game.txt文件的count值都会+1。只能玩3次,每一次可以有无数次猜的机会
//注意次数超过3了可以去改game.txt文件的count值,初始值为0。或者直接改'a_16_1GuessNumber'类的代码
public class a_16_2测试 {
public static void main(String[] args) throws IOException {
//从文件中读取数据到Properties集合,用load方法实现。且要求文件已经存在,如game.txt;还要求文件里面有一个键值对数据值,如count=0
//先创建一个集合对象
Properties prop = new Properties();
//load方法需要的参数是Reader,所以我们先创建Reader对象
FileReader fr = new FileReader("D:\\huanf\\java\\src\\ch18_ch19_储物区\\game.txt");
//调用load方法
prop.load(fr);
fr.close();//释放资源
//再通过Properties集合获取到玩游戏的次数
String count = prop.getProperty("count");
//再判断次数是否达到3次。注意上面的count是字符串类型,所以我们需要将count转换为整型
int number = Integer.parseInt(count);//转换后的变量就叫number
//判断次数是否到3次
if(number >= 3){
//如果到了就给出提示:游戏试玩已结束,请前往充值(www.baidu.com)
System.out.println("游戏试玩已结束,请前往充值(www.baidu.com)");
} else{
//如果不到3次,就继续玩游戏
a_16_1GuessNumber.start();
//且次数+1
number++;
//最后要重新写回文件,用Properties的store()方法实现。
prop.setProperty("count",String.valueOf(number));//setProperty的作用是修改集合数据,把count键对应的值改为number。
//上面的number是整型,我们需要把number转回字符串型
//集合中的新数据写好后,要把该集合中的数据重新写回到文件,如下
FileWriter fw = new FileWriter("D:\\huanf\\java\\src\\ch18_ch19_储物区\\game.txt");
//保存文件
prop.store(fw,null);//第二个参数是描述信息,不写的话就写null
fw.close();//释放资源
}
}
}