java 做猜数字小游戏_Java Properties类:利用Properties类制作猜数字小游戏
在学习Random类时我们制作过猜数字小游戏,学习了Properties类后,可以为此游戏添加保存得分记录功能
游戏规则:
玩家可以选择玩游戏还是查看得分
玩游戏:
首先玩家需要选择难度:
难度级别
范围
简单
1~10
中等
1~100
困难
1~1000
专家
1~10000
程序会根据随机生成一个难度随机生成一个整数。
玩家现在可以猜数,系统会判断猜大了还是猜小了。
最后根据玩家的尝试次数产生得分,并保存到文件中。
查看得分:
根据难度显示得分
制作步骤:
首先编写游戏主菜单方法:
public static void MainMenu() {
System.out.println("====主菜单====");
System.out.println("1.玩游戏");
System.out.println("2.查看得分");
System.out.println("0.返回");
}
选择难度方法:
public static voidChooseLevel() {
Scanner sc= newScanner(System.in);while(true) {
System.out.println("请选择难度:");
System.out.println("1.简单");
System.out.println("2.中等");
System.out.println("3.困难");
System.out.println("4.专家");switch(sc.next()) {//跟据难度传参
case "1":
NewGame(10);break;case "2":
NewGame(100);break;case "3":
NewGame(1000);break;case "4":
NewGame(10000);break;default:continue;
}break;
}
}
新游戏方法:
public static void NewGame(intmax) {
Scanner sc= newScanner(System.in);int number = newRandom().nextInt(max);
System.out.println("神秘数字已产生,(0~"+max+")");int count = 1;while(true) {
System.out.println("第"+count+"次猜:");int guess =sc.nextInt();if(guess>number) {
System.out.println("您猜大了");
count++;continue;
}else if(guess
System.out.println("您猜小了");
count++;continue;
}else{
System.out.println("您猜对了!一共猜了"+count+"次");if(updateFile(max,count)) {
System.out.println("新记录!");
}return;
}
}
}
更新得分文件
public static boolean updateFile(int type,intnum) {
FileInputStream fis= null;try{
fis= new FileInputStream("src\\practice\\scores");
}catch(FileNotFoundException e) {
e.printStackTrace();
}
Properties p= newProperties();try{
p.load(fis);
}catch(IOException e) {
e.printStackTrace();
}int oldscore =Integer.parseInt(p.getProperty(Integer.toString(type)));if(oldscore>num||oldscore==0) {
p.setProperty(Integer.toString(type), Integer.toString(num));
FileOutputStream fos= null;try{
fos= new FileOutputStream("src\\practice\\scores");
}catch(FileNotFoundException e) {
e.printStackTrace();
}try{
p.store(fos,null);
}catch(IOException e) {
e.printStackTrace();
}try{
fis.close();
fos.close();
}catch(IOException e) {
e.printStackTrace();
}return true;
}try{
fis.close();
}catch(IOException e) {
e.printStackTrace();
}return false;
}
重置得分
public static voidReset() {
FileOutputStream fos= null;try{
fos= new FileOutputStream("src\\practice\\scores");
}catch(FileNotFoundException e) {
e.printStackTrace();
}
Properties p= newProperties();
p.setProperty("10", "0");
p.setProperty("100", "0");
p.setProperty("1000", "0");
p.setProperty("10000", "0");try{
p.store(fos,null);
fos.close();
}catch(IOException e) {
e.printStackTrace();
}
}
获得得分:
public staticString getScore(String type) {
FileInputStream fis= null;try{
fis= new FileInputStream("src\\practice\\scores");
}catch(FileNotFoundException e) {
e.printStackTrace();
}
Properties p= newProperties();try{
p.load(fis);
}catch(IOException e) {
e.printStackTrace();
}try{
fis.close();
}catch(IOException e) {
e.printStackTrace();
}returnp.getProperty(type);
}
展示得分:
public static voidshowScores() {
Scanner sc= newScanner (System.in);while(true) {
System.out.println("得分记录:\n");
System.out.println("简单模式:"+(getScore("10").equals("0")?"暂无得分":getScore("10")));
System.out.println("中等模式:"+(getScore("100").equals("0")?"暂无得分":getScore("100")));
System.out.println("困难模式:"+(getScore("1000").equals("0")?"暂无得分":getScore("1000")));
System.out.println("专家模式:"+(getScore("10000").equals("0")?"暂无得分":getScore("10000")));
System.out.println("输入c重置得分,输入0返回");switch(sc.next()) {case "0":return;case "c":case "C":
Reset();break;
}
}
}
测试类:
public static voidmain(String[] args) {
Scanner sc= newScanner(System.in);while(true) {
MainMenu();switch(sc.next()) {case "1":
ChooseLevel();break;case "2":
showScores();break;case "0":return;default:continue;
}
}
}
运行效果:
java 做猜数字小游戏_Java Properties类:利用Properties类制作猜数字小游戏相关推荐
- python猜数字1001untitled_如何利用Matlab GUI制作猜数字游戏
第二堂课布置了一个Mission Impossible:如何利用Matlab GUI制作猜数字游戏 这个任务对很多人来说会非常困难,首先要面对的是 Matlab GUI的机制,这是完全未知的机制,在面 ...
- java中的匿名类方法覆盖_Java技巧:用匿名类来实现简化程序调试
Java技巧:用匿名类来实现简化程序调试 在Java中,匿名类(Anonymous inner classes)多用来处理事件(event handle).但其实,它们对于debug也很有帮助.本文将 ...
- 【游戏开发实战】使用Unity 2019制作仿微信小游戏飞机大战(七):主角飞机碰撞与爆炸
文章目录 零.教程目录 一.前言 二.本篇目标 三.飞机机碰撞组件:BoxCollider2D.Rigidbody2D 四.添加Tag:Enemy 五.主角飞机碰撞处理:OnTriggerEnter2 ...
- coreldraw怎么画猴子_小猴头像简笔画【CDR11设计制作逼真的小猴头像实例教程】...
CorelDraw是一款用来设计和制作矢量图形的软件,使用起来简单方便,成为很多设计人员的首爱.猴年马上就到了,让笔者带大家一起来绘制一个可爱的小猴头像吧!文章末尾提供.cdr文件供大家下载参考. 所 ...
- 如何利用Construct 2制作一个简单的游戏
Construct 2 是一款专门制作游戏的软件,它的存在,让没有编程基础的人也可以轻松的制作游戏,享受其中的快乐. 这是一款几乎没有门槛的软件,任何人都可以快速上手.作为广大游戏爱好者之一,我希望将 ...
- java 判断字符串是否包含字母_Java中判断某一字符串是否包含数字、字母和中文...
importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classStrValidate {//纯数字 private s ...
- java做一个客房管理系统定制_Java实现酒店客房管理系统
本文实例为大家分享了Java实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 LoginFrame.java package loginManage; import java.awt.Colo ...
- java用if判断输入字符_java怎么用if判断输入的是不是数字
System.out.println("\t\t\t\t欢迎使用富贵不能淫购物系统1.0版!");System.out.println("\t\t\t\t\t1.登录系统 ...
- java 判断一个字符串是否由数字组成的_Java中怎样判断一个字符串是否是数字
展开全部 1.使用Character.isDigit(char)判断 String str = "123abc"; if (!"".equals(str)) { ...
- java做的登录界面共享文件_java毕业设计_springboot框架的局域网文件共享平台
这是一个基于java的毕业设计项目,毕设课题为springboot框架的局域网文件共享平台, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jsp+s ...
最新文章
- 网络营销推广软件教你学会单页面SEO优化技巧,轻松赢流量!
- SAP中内部订单和PS的区别
- lxml 和 XPah (爬虫)
- C#常用集合的使用(转载)
- c语言对c99标准声明,C语言中C89与C99的区别
- 苹果又遭集体诉讼,网友拍手:干得漂亮......
- 《上海堡垒》改编电影发布 QQ阅读披露作者江南心声
- Android图形---Graphics(概要)
- seaborn箱线图_Seaborn线图的数据可视化
- WebRTC之RFC协议下载(八)
- CentOS部署JavaWeb项目
- 使用Netsparker扫描及**某站点
- 台式计算机投影仪无线传输软件,台式机无线投屏到投影仪 4台PC电脑一个屏
- 基本知识 100176
- 小新air15为啥没人买_小新air15为啥没人买
- 明解C语言入门篇_第8章_动手编写各种程序吧
- 【电子器件笔记4】电感参数和选型
- 电缆 电流_如何不用电缆观看每项运动(运动返回时)
- What CANN Can?一辆小车背后的智能故事
- JAVASE总结回顾(秦疆老师)
热门文章
- 计算机技术中的常见概念
- CSS 两列布局 之 左侧适应,右侧固定 3种方式
- DFS Codeforces Round #290 (Div. 2) B. Fox And Two Dots
- (step4.3.1) hdu 1010(Tempter of the Bone——DFS)
- 解决RD2作业在IE和Fire Fox中CSS效果不同的问题~
- 大数据_Flink_Java版_状态管理(2)_算子状态---Flink工作笔记0061
- Netty工作笔记0015---MappedByteBuffer使用
- 正则表达式学习笔记006--转义符的认识与应用
- 经典线程同步 互斥量Mutex的使用分析
- detectron2 demo cuda10.0 py3.6