java d打字游戏_java实现快速打字游戏

本文实例为大家分享了java实现打字游戏的具体代码,供大家参考,具体内容如下

import java.util.Random;

import java.util.Scanner;

public class Game {

public Game(Player player) {

}

public Game() {

}

public String printStr(Player player) {

StringBuffer a=new StringBuffer();

for(int i=0;i

int num=(int)(Math.random()*(7));

switch(num) {

case 1:

a.append(">");

break;

case 2:

a.append("

break;

case 3:

a.append("+");

break;

case 4:

a.append("-");

break;

case 5:

a.append("*");

break;

case 6:

a.append("/");

break;

case 0:

a.append("=");

break;

}

}

String str=a.toString();

System.out.println(str);

return str;

}

public void printResult(Player player) {

String num1=this.printStr(player);

Scanner input=new Scanner(System.in);

player.setStartTime();

String num2=input.next();

long currentTime=System.currentTimeMillis();

player.setElapsedTime(currentTime,player.getStartTime());

if (num1.equals(num2)) {

if ((currentTime-player.getStartTime())/1000>LevelParam.levels[player.getLevelNo()-1].getTimeLimit()) {

System.out.println("你输入太慢了,输入超时,退出。");

System.exit(1);

} else {

player.setCurScore(player);

System.out.println("输入正确,您的级别"+player.getLevelNo()+",您的积分"+player.getCurScore()+",已用时"+player.getElapsedTime()+"秒。");

}

}else{

System.out.println("输入错误,退出!");

System.exit(1);

}

}

}

public class Level {

private int levelNo;//各级别编号

private int strLength;//各级别一次输出字符串的长度

private int strTimes;//各级别输出字符串的次数

private int timeLimit;//各级别闯关的时间限制

private int perScore;//各级别正确输入一次的得分

public int getLevelNo() {

return levelNo;

}

public int getStrLength() {

return strLength;

}

public int getStrTimes() {

return strTimes;

}

public int getTimeLimit() {

return timeLimit;

}

public int getPerScore() {

return perScore;

}

public Level(int levelNo,int strLength,int strTimes,int timeLimit,int perScore) {

this.levelNo=levelNo;

this.strLength=strLength;

this.strTimes=strTimes;

this.timeLimit=timeLimit;

this.perScore=perScore;

}

}

public class LevelParam {

public static final Level levels[]=new Level[6];

static{

levels[0]=new Level(1,2,10,30,1);//编号、字符串长度、字符串次数、关卡时间、正确得分

levels[1]=new Level(2,3,9,26,2);

levels[2]=new Level(3,4,8,22,5);

levels[3]=new Level(4,5,7,18,8);

levels[4]=new Level(5,6,6,15,10);

levels[5]=new Level(6,7,5,12,15);

}

}

import java.util.Scanner;

public class Player {

private int levelNo=1;//玩家当前级别

private int curScore;//当前级别积分

private long startTime;//当前级别开始时间

private long elapsedTime;//当前级别已用时间

public int getLevelNo() {

return levelNo;

}

public void setLevelNo() {

this.levelNo++;

}

public int getCurScore() {

return curScore;

}

public void setCurScore(Player player) {

this.curScore = curScore+LevelParam.levels[player.getLevelNo()-1].getPerScore();;

}

public void setCurScore(int a) {

this.curScore=a;

}

public long getStartTime() {

return startTime;

}

public void setStartTime() {

this.startTime =System.currentTimeMillis();;

}

public long getElapsedTime() {

return elapsedTime;

}

public void setElapsedTime(long a,long b) {

this.elapsedTime=(a-b)/1000+elapsedTime;

}

public void setElapsedTime(int a) {

this.elapsedTime=a;

}

public void play(Player player) {

Game one=new Game();

for(int j=0;j<6;j++) {

for(int i=0;i

one.printResult(player);

}

player.setLevelNo();

player.setCurScore(0);

player.setElapsedTime(0);

}

}

}

public class Test {

public static void main(String[] args) {

Player p=new Player();

p.play(p);

}

}

更多有趣的经典小游戏实现专题,分享给大家:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值