博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
05_打字游戏
阅读量:6889 次
发布时间:2019-06-27

本文共 6846 字,大约阅读时间需要 22 分钟。

自己版本:

package com.entity;import java.util.Arrays;import java.util.Random;public class Computer {        public String print(char[] base,int rank){        char[] c;        switch(rank){        case 1:            c=Arrays.copyOf(base, 10);            return getPrint(c,2);        case 2:            c=Arrays.copyOf(base, 10);            return getPrint(c,3);        case 3:            c=Arrays.copyOf(base, 36);            return getPrint(c,4);        case 4:            c=Arrays.copyOf(base, 36);            return getPrint(c,5);        case 5:            return getPrint(base,6);        case 6:            return getPrint(base,8);        }        return null;            }        public String getPrint(char[] score,int number){        StringBuilder sb=new StringBuilder();        for(int i=0;i
','<','_','^','&','*','$','(',')','@','#','%'}; public Game(){ user=new User(); computer=new Computer(); } public void setComputer(Computer computer) { this.computer = computer; } public Computer getComputer() { return computer; } public void setUser(User user) { this.user = user; } public User getUser() { return user; } public static void setRank(int rank) { Game.rank = rank; } public static int getRank() { return rank; } public void startGame(){ Scanner sc=new Scanner(System.in); System.out.println("-------------------------------"); System.out.println("欢迎来到最新科技打字游戏!"); System.out.println("输入s开始游戏!"); boolean flag=sc.nextLine().equals("s") ? true :false; if(flag){ while(rank<=6){ doGame(); if(rank>6){ System.out.println("恭喜您通关了!\n游戏结束!"); System.exit(0); } } }else{ System.out.println("谢谢使用,再见!"); System.exit(0); } } public void doGame(){ String answer=computer.print(base, rank); String result=user.print(); if(!answer.equals(result)){ System.out.println("输入错误,游戏结束!"); System.exit(1); }else if(user.getSpentTime()>canUseTime[rank-1]){ System.out.println("输入超时,游戏结束!"); System.exit(1); }else{ user.setScore(user.getScore()+10);//输入正确一次加10积分 if(user.getScore()>=needScore[rank-1]){ rank=rank+1; user.clearScore(); System.out.println("输入正确,您升级了,当前级别为:"+rank+",当前积分为:"+user.getScore()); }else{ System.out.println("输入正确,您的积分为:"+user.getScore()+"您的级别为:"+rank); } } } }package com.entity;import java.util.Scanner;public class User { private int score; private String name; private long spentTime; public void setScore(int score) { this.score = score; } public int getScore() { return score; } public void setName(String name) { this.name = name; } public String getName() { return name; } public User(){ } public User(String name){ this.name=name; } public void setSpentTime(long spentTime) { this.spentTime = spentTime; } public long getSpentTime() { return spentTime; } public String print(){
//人的输入 spentTime=0; Scanner sc=new Scanner(System.in); long startTime=System.currentTimeMillis(); String userPrint= sc.nextLine(); long endTime=System.currentTimeMillis(); spentTime=endTime-startTime; return userPrint; } public void clearScore(){
//积分清0 this.score=0; } }package com.test;import com.entity.Game;public class TestGame { public static void main(String[] args) { Game game=new Game(); game.startGame(); }}

 

ppt版本:

package com.entity;import java.util.Scanner;public class Player {    private int levelNo=1;//玩家级别号    private int currScore;//当前级别积分    private long startTime;//当前级别开始时间    private int elapsedTime;//当前级别已用时间    public String play(){
//玩家输入 Scanner sc=new Scanner(System.in); long startTime=System.currentTimeMillis(); String s= sc.nextLine(); long endTime=System.currentTimeMillis(); this.elapsedTime+=(int) ((endTime-startTime)/1000); return s; } public void clear(){ this.currScore=0; this.elapsedTime=0; } public int getLevelNo() { return levelNo; } public void setLevelNo(int levelNo) { this.levelNo = levelNo; } public int getCurrScore() { return currScore; } public void setCurrScore(int currScore) { this.currScore = currScore; } public long getStartTime() { return startTime; } public void setStartTime(long startTime) { this.startTime = startTime; } public int getElapsedTime() { return elapsedTime; } public void setElapsedTime(int elapsedTime) { this.elapsedTime = elapsedTime; }}package com.entity;public class LevelParam { public static 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); } }package com.entity;public class Level { private int levelNo;//级别号 private int StringLength;//一次输出字符串的长度 private int strTimes;//输出字符串的次数 private int timeLimit;//各级别闯关的时间限制 private int perScore;//输入正确一次的得分 public int getStrTimes() { return strTimes; } public Level(int levelNo, int stringLength, int strTimes, int timeLimit, int perScore) { super(); this.levelNo = levelNo; this.strTimes = strTimes; StringLength = stringLength; this.timeLimit = timeLimit; this.perScore = perScore; } public void setStrTimes(int strTimes) { this.strTimes = strTimes; } public int getStringLength() { return StringLength; } public void setStringLength(int stringLength) { StringLength = stringLength; } public long getTimeLimit() { return timeLimit; } public void setTimeLimit(int timeLimit) { this.timeLimit = timeLimit; } public int getPerScore() { return perScore; } public void setPerScore(int perScore) { this.perScore = perScore; } public void setLevelNo(int levelNo) { this.levelNo = levelNo; } public int getLevelNo() { return levelNo; }}package com.entity;import java.util.Random;public class Game { public final char[] base=new char[94]; public String printStr(Level l){ StringBuilder sb=new StringBuilder(); for(int i=0;i

 

转载地址:http://ugtbl.baihongyu.com/

你可能感兴趣的文章
Repeater控件结合UpdatePanel实现Ajax分页和删除功能
查看>>
js问题总结
查看>>
资源分享来源
查看>>
TServerSocket组件
查看>>
构建Java并发模型框架
查看>>
dbgrideh的導入和導出
查看>>
443.Chapter3
查看>>
http://www.mysqltutorial.org/python-mysql-query/
查看>>
insert时出现主键冲突的处理方法【转载】
查看>>
.Net中的数字类型四则运算的有趣问题
查看>>
《编程珠玑,字字珠玑》45678读书笔记——编程技巧
查看>>
android被逼学习布局管理器
查看>>
1 < 2 < 3为true, 3 > 2 > 1为false
查看>>
(笔记)关于LM3S片内FLASH编程的一点建议
查看>>
数据库对象——表——轻松走进数据库之五
查看>>
统一用户单点登录系统
查看>>
Django Admin的相关知识
查看>>
pycharm + selenium + python 提示 Unresolved reference 'webdriver' 解决办法
查看>>
Maven版本号中隐藏的惊天大秘密
查看>>
支付宝淘宝 - 自定义密码输入框和键盘
查看>>