游戏次数案例
需求:实现猜数字小游戏只能试玩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()方法实现
游戏次数案例的练习
xxxxxxxxxxpackage 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; } } }}xxxxxxxxxxpackage 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();//释放资源 }
}}