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<LevelParam.levels[player.getLevelNo()-1].getStrLength();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<LevelParam.levels[player.getLevelNo()-1].getStrTimes();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);
 }
}

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

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

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

(0)

相关推荐

  • Android自定义View实现打字机效果

    一.先来看看效果演示 二.实现原理: 这个其实不难实现,通过一个定时器不断调用TextView的setText就行了,在setText的时候播放打字的音效. 具体代码如下: import java.util.Timer; import java.util.TimerTask; import android.content.Context; import android.media.MediaPlayer; import android.text.TextUtils; import android

  • 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<Le

  • java类与对象案例之打字游戏

    类与对象案例-童年回忆之打字游戏 一.玩家类 二.等级类 三.游戏类 四.等级地图 五.测试类 这次要做的案例是一个打字游戏的案例,相信大家小时候都玩过金山打字通的警察抓小偷和飞机大战,这次的案例是类似的简易版. 首先对于这个案例,我们要解决的是如何生成随机的字符串,如何判断生成的字符串和输入的字符串是否相等. 一.玩家类 package com.yc.oop6.hc0705; public class Player { private int score; //积分 private long

  • Java实现打字游戏

    本文实例为大家分享了Java实现打字游戏的具体代码,供大家参考,具体内容如下 新建一个项目,然后在src里面建一个MyGame.java文件, 把代码粘到刚才新建的MyGame.java, 然后把两张图放到src下,就行了 一.代码 import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.awt.*; import java.a

  • java实现打字游戏小程序

    本文实例为大家分享了java实现打字游戏小程序的具体代码,供大家参考,具体内容如下 一.设计思路 1.创建一个窗体 2.在窗体上放置一个面板,用paint方法画出英文字母,随机放置字母位置,并随时间自动下落 3.设置得分扣分机制 4.在面板上添加键盘监听器,输入正确得分,输入错误则扣分 ps:面板和监听器用一个类实现(这样简单方便) 二.具体实现 MyPanel.java import java.awt.Color; import java.awt.Font; import java.awt.G

  • java实现五子棋小游戏

    java实现五子棋小游戏 package Gomoku; import java.awt.Toolkit; import javax.swing.JFrame; public class GomokuFrame extends JFrame { //定义一个操作面板 OperatorPane op=null; public GomokuFrame() { //设置名称 this.setTitle("五子棋"); //设置窗口大小 this.setSize(510,510); //设置窗

  • Java版坦克大战游戏源码示例

    整理文档,搜刮出一个Java版坦克大战游戏的代码,稍微整理精简一下做下分享. package tankwar; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.io.File; import java.io.FileInputStream; imp

  • javascript 打字游戏实现代码

    效果如图所示:下面是核心代码 复制代码 代码如下: GAME = { //随机产生字母 randLetter: function() { var arrLetter = new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K&qu

  • jQuery 写的简单打字游戏可以提示正确和错误的次数

    var off_x; //横坐标 var count=0; //总分 var speed=5000; //速度,默认是5秒. var keyErro=0; //输入错误次数 var keyRight=0; //输入正确的次数 //组织字母 var charArray=new Array("A", "B", "C", "D", "E", "F", "G", "

  • Java编写掷骰子游戏

    废话不多说了,直接奔主题. **多线程&&观察者模式 题目要求:<掷骰子>窗体小游戏,在该游戏中,玩家初始拥有1000的金钱,每次输入押大还是押小,以及下注金额,随机3个骰子的点数,如果3个骰子的总点数小于等于9,则开小,否则开大,然后判断玩家是否押对,如果未押对则扣除下注金额,如果押对则奖励和玩家下注金额相同的金钱. 分析:这个题目要求灵活运用多线程的相关知识,达到点击开始按钮时,有3个线程启动,分别控制3颗骰子的转动,在3颗骰子全部转完以后,回到主线程计算游戏结果. //个

  • java中快速创建带初始值的List和Map实例

    初始化一个List和Map对象并为期加入值的写法如下: List<String> sList = new ArrayList<String>(); sList.add("str1"); sList.add("str2"); Map<String,String> sMap = new HashMap<String, String>(); sMap.put("k1", "v1");

随机推荐