代码块----
public class xxl {//信息类
//级别,次数,时间,字符长度,分数
private int jb;//级别
private int cs;//次数
private int sj;//时间
private int zfcd;//字符长度
private int fs;//分数
public xxl(int jb, int cs, int sj, int zfcd, int fs) {
this.jb = jb;
this.cs = cs;
this.sj = sj;
this.zfcd = zfcd;
this.fs = fs;
}
public int getJb() {
return jb;
}
public void setJb(int jb) {
this.jb = jb;
}
public int getCs() {
return cs;
}
public void setCs(int cs) {
this.cs = cs;
}
public int getSj() {
return sj;
}
public void setSj(int sj) {
this.sj = sj;
}
public int getZfcd() {
return zfcd;
}
public void setZfcd(int zfcd) {
this.zfcd = zfcd;
}
public int getFs() {
return fs;
}
public void setFs(int fs) {
this.fs = fs;
}
}
public class xxxxl {//信息详细类
public static final xxl hw[]=new xxl[6]; //创建公共静态信息类对象列表
//级别,次数,时间,字符长度,分数
static {//列表初始化
hw[0]=new xxl(1,5,30,2,1);
hw[1]=new xxl(2,5,25,2,1);
hw[2]=new xxl(3,5,20,3,1);
hw[3]=new xxl(4,5,15,4,1);
hw[4]=new xxl(5,5,10,5,1);
hw[5]=new xxl(6,5,10,6,1);
}
}
import java.util.Scanner;
public class wj {//玩家类
//玩家等级,玩家积分,开始时间,已用时间
private int wjdj;//玩家等级
private int wjjf;//玩家积分
private long kssj;//开始时间
private int yysj;//已用时间
public int getWjdj() {
return wjdj;
}
public void setWjdj(int wjdj) {
this.wjdj = wjdj;
}
public int getWjjf() {
return wjjf;
}
public void setWjjf(int wjjf) {
this.wjjf = wjjf;
}
public long getKssj() {
return kssj;
}
public void setKssj(long kssj) {
this.kssj = kssj;
}
public int getYysj() {
return yysj;
}
public void setYysj(int yysj) {
this.yysj = yysj;
}
public void wyx(){//玩游戏
System.out.println("-------小黄QuickHit游戏【JAVA版】--------");
game g=new game(this);//创建游戏对象
Scanner s=new Scanner(System.in);
for(int x=0 ; x<6 ;x++){//外部循环游戏等级次数
//晋级
this.wjdj++;
//积分清零
this.wjjf=0;
//计时清零
this.kssj=System.currentTimeMillis()/1000;
for (int y=0;y<xxxxl.hw[wjdj-1].getCs();y++){//循环每一级需要游戏的次数
String on=g.zhf();//游戏对象输出随机字符串
String in=s.next();//外部输入
g.pdzfc(on,in);
}
}
}
}
import java.util.Random;
public class game { //游戏类
private wj wjname;//玩家对象做变量
public game(wj wjname) {
this.wjname = wjname;
}
public wj getWjname() {
return wjname;
}
public void setWjname(wj wjname) {
this.wjname = wjname;
}
public String zhf(){//电脑随机输出字符串
StringBuilder str=new StringBuilder();//创建可变化字符串
Random random=new Random();//创建随机数
int zfccd=xxxxl.hw[wjname.getWjdj()-1].getZfcd();//根据等级定义定义字符长度
for(int x=0;x<zfccd;x++){
int num=random.nextInt(zfccd);
switch (num){
case 0:
str.append(">");
break;
case 1:
str.append("<");
break;
case 2:
str.append("+");
break;
case 3:
str.append("-");
break;
case 4:
str.append("!");
break;
case 5:
str.append("*");
break;
}
}
System.out.println(str);
return str.toString();
}
public void pdzfc(String wj,String dn){//判断zhf与玩家的输入的字符串是否一致,并且输出内容
//3、如果输入正确,则会有两种情况:
//3.1 如果超时,则会输出玩家超时信息并退出程序
//3.2 如果没有超时,则会执行一下操作:计算玩家当前分数,计算玩家已用时间,输出玩家当前级别、当前积分与已用时间,判断用户是否已经闯过最后一关并处理
if(wj.equals(dn)){//1、确定玩家的输入是否正确
if(System.currentTimeMillis()/1000-wjname.getKssj()>xxxxl.hw[wjname.getWjdj()-1].getSj()){//输入超时
System.out.println("你输入的太慢了,已经超时,程序退出");
System.exit(1);
}else {//输入没有超时
//计算玩家当前分数
wjname.setWjjf(wjname.getWjjf()+xxxxl.hw[wjname.getWjdj()-1].getFs());
//计算玩家已用时间
wjname.setYysj((int) (wjname.getYysj()+(System.currentTimeMillis()-wjname.getKssj()/1000)));
//输出玩家当前级别、当前积分与已用时间
System.out.println("输入正确,您的级别为:"+wjname.getWjdj()+"\t您的积分为:"+wjname.getWjjf()+"\t已用时间为:"+wjname.getWjjf()+"秒");
//判断用户是否已经闯过最后一关并处理
if(wjname.getWjdj()==6){//玩家等级为6级
//计算6级全部通关的分数总和
int sum=xxxxl.hw[wjname.getWjdj()-1].getCs() * xxxxl.hw[wjname.getWjdj()-1].getFs();
if(wjname.getWjjf()==sum){
System.out.println("你已闯关成功,成为绝世高手,恭喜你!!");
System.exit(1);
}
}
}
}else {//2、如果输入不正确,则直接输出错误信息并退出程序
System.out.println("输出错误,退出!");
System.exit(1);
}
}
}
public class test {//测试类
public static void main(String[] args) {
wj w=new wj();
w.wyx();
}
}
运行结果———————