创建工程和包,然后编写下面3个类,运行QuickHit类。/**游戏数据类*/packageaccp;importjava.util.Random;publicclassGameData{String[]direction=newString[]{"↑","→","↓","←"};intlevel=1;//游戏级别(难度)intdataIndex=0;//标记每关的输入次数publicStringnextOutput(intlv){Randomrandom=newRandom();Stringoutput="";for(inti=0;i=4){dataIndex=0;return"lever_pass";}else{dataIndex+=1;returnoutput;}}}/**裁判类*/packageaccp;publicclassJudge{String[]resultString=newString[]{"太完美了","加油","要小心了"};intresultLevel=0;//结果级别,resultString的索引longcurTime=System.currentTimeMillis();//当前时间inthitCount=0;//命中次数intmissCount=0;//错误次数inttotalCount=0;//总共次数intMAX_SEC=10;//每关的时间限制intMAX_MISS_COUNT=4;//所有关一共允许的失败次数/***判断输入是否正确,是否超过限制次数,是否超时*@paramcurData游戏要求的输入内容*@paramcurInput玩家实际的输入内容*@return评判结果*/publicStringjudge(StringcurData,StringcurInput){Stringret="";if(null!=curInput&&!"".equals(curInput)){/*如果输入不为空,也不为空字符串*/curInput=curInput.replaceAll("w","↑");curInput=curInput.replaceAll("s","↓");curInput=curInput.replaceAll("a","←");curInput=curInput.replaceAll("d","→");if(curData.equals(curInput)){/*如果输入正确,增加一次命中次数*/ret="[正确]";hitCount+=1;}else{/*如果输入错误,增加一次错误次数*/ret="[错误]";missCount+=1;}}else{/*如果输入为空,或为空字符串,增加一次错误次数*/ret="[错误]";missCount+=1;}totalCount+=1;/*判断是否超过次数*/if(missCount>MAX_MISS_COUNT){//超过限制次数则放回失败信息,游戏停止System.out.println("\n你失败了!你错了"+missCount+"次(最多"+MAX_MISS_COUNT+"次)");return"fail";}/*计算已用时间,并判断是否超时*/longsecPassed=(System.currentTimeMillis()-curTime)/1000;if(secPassed>MAX_SEC){//超时则放回失败信息,游戏停...