import java.text.NumberFormat;
import java.util.Scanner;
public class Game {
public static void main(String[] args) {
//键入信息
Scanner scanner = new Scanner(System.in);
/**
* 用户进入游戏平台后,可以选择喜爱的游戏
*/
System.out.println("欢迎进入青鸟游迷你戏平台");
System.out.println("请选择你喜欢的游戏:");
System.out.println("****************");
System.out.println("1.斗地主");
System.out.println("2.斗牛");
System.out.println("3.泡泡龙");
System.out.println("4.连连看");
System.out.println("****************");
System.out.print("请选择要进入的游戏:");
int gamenum = scanner.nextInt();//输入游戏编号
switch (gamenum) {
case 1:
System.out.println("你已进入斗地主房间");
break;
case 2:
System.out.println("你已进入斗牛房间");
break;
case 3:
System.out.println("你已进入泡泡龙房间");
break;
case 4:
System.out.println("你已进入连连看房间");
break;
default:
break;
}
/**
* 用户玩游戏,每次玩5局
* 不足5局则不能晋级
* 在5局游戏中,如果80%达
* 到80分以上,为一级,如果
* 60%达到80分以上为二级,
* 否则不能晋级
*/
int jvshu = 0;//定义局数
int count = 0;//定义分数大于80的次数
System.out.println("青鸟游迷你戏平台 >游戏晋级");
do {
System.out.println("您正在玩第" + (jvshu + 1) + "局,成绩为:");
//输出成绩
double score = scanner.nextDouble();
//如果成绩大于80,次数累加
if (score > 80) {
count++;
}
//局数累加
jvshu++;
//如果局数大于5,游戏结束
if (jvshu >= 5) {
System.out.println("游戏结束");
} else {//否则游戏继续
System.out.println("继续玩下一局吗?(yes/no)");
String exitOrContinue = scanner.next();
//如果不继续游戏no,将失败
if (exitOrContinue.equals("no")) {
System.out.println("你已中途退出游戏。\n对不起,您未能晋级,继续加油啊!");
break;
} else if (exitOrContinue.equals("yes")) {//如果继续游戏yes,输入
System.out.println("进入下一局");
} else {//输入其他值则程序结束
break;
}
}
} while (jvshu < 5);//当局数小于5
boolean isOk=true;
double rate = count / (double) jvshu;//计算打到80分以上的比率
//System.out.println(rate);
if (jvshu >= 5) {
if (rate > 0.8) {
System.out.println("游戏结束!\n恭喜!通过一级");
} else if (rate > 0.6) {
System.out.println("通过二级,继续努力!");
} else {
isOk=false;
}
} else {
isOk=false;
}
if (isOk!=true)
System.out.println("对不起,您未能晋级,继续加油啊!");
/**
* 根据游戏类型和游戏时长计算应支付的游戏币
* 假设:1元购买1个游戏币
* 游戏类型分为两大类
* 牌类和休闲竞技类
* 游戏的收费标准
* 牌类:10元/小时
* 休闲竞技类:20元/小时
* 游戏的收费规则
* 游戏时间超过10小时,可以打5折
* 10小时及以下,打8折
*/
System.out.println("青鸟游迷你戏平台 >游戏支付");
System.out.println("请选择您玩的游戏类型:\n1.牌类\n2.休闲竞技类");
int typenum = scanner.nextInt();
System.out.println("请您输入游戏时长:");
double time = scanner.nextDouble();
double sumMoney = 0;//定义总金额
String typeName;//游戏类型名称
double discount = 0;//折扣
String discount1 = null;//定义打印折扣
if (typenum == 1) {
sumMoney = time * 10;
typeName = "牌类";
} else {
sumMoney = time * 20;
typeName = "休闲竞技类";
}
if (time > 10) {
discount = 0.5;
discount1 = "5";
} else {
discount = 0.8;
discount1 = "8";
}
sumMoney *= discount;//总金额=总金额*折扣
System.out.println("您玩的是" + typeName + ",时长为:" + time + "小时,可以享受" + discount1
+ "折优惠\n您需要支付" + sumMoney + "个游戏币");
//录入游戏的点击率,统计点击率超过100的游戏所占的比例
System.out.println("青鸟游迷你戏平台 >游戏点击率");
int i = 0;
int CTRCount = 0;//记录点击率大于100的游戏数
do {
System.out.println("请输入第" + (i + 1) + "个游戏的点击率:");
int CTR = scanner.nextInt();//输入点击率
if (CTR > 100) {
CTRCount++;
} else if (CTR < 0) {
continue;
}
i++;
} while (i < 4);//循环4次
System.out.println("点击率大于100的游戏数是:" + CTRCount);
System.out.println("点击率大于100的游戏所占的比例为:" + (CTRCount / (double) i) * 100 + "%");
/*
* 为了维护用户信息,需要将其信息录入系统中
* 用户的信息包括:用户编号、年龄、积分
* 要求年龄10岁以上
*/
System.out.println("青鸟游迷你戏平台 >添加用户信息");
System.out.println("请输入要录入用户的数量:");
int custNum = scanner.nextInt();
int Lucount = 1;
do {
System.out.println("请输入用户编号(<4位整数>):");
int num = scanner.nextInt();
int length = ("" + num).length();
if (length != 4) {
System.out.println("请输入4位数!\n录入信息失败!");
continue;
}
System.out.println("请输入用户年龄:");
int age = scanner.nextInt();
if (age < 10) {
System.out.println("很抱歉,您的年龄不适宜玩游戏\n录入信息失败");
continue;
}
System.out.println("请输入会员积分:");
double jifen = scanner.nextDouble();
System.out.println("您录入的会员信息是:\n用户编号:" + num + "\t年龄:" + age + "\t积分" + jifen);
Lucount++;
System.out.println(custNum + "\n" + Lucount);
} while (Lucount <= custNum);
}
}
第七章循环结构综合练习
最新推荐文章于 2024-05-19 21:34:53 发布