java打字小游戏源码_求JAVA编写打字游戏源代码!
展开全部
package chen;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.util.Vector;
import javax.swing.JFrame;
public class keyTest extends Window implements KeyListener, Runnable {
int width, height;
BufferedImage buf;
Graphics gc;
boolean play = true;
Vector keys = new Vector();
int ok = 0, fail = 0, error = 0, sum = 0;
Font small = new Font("宋体", 0, 30);
Font big = new Font("宋体", 0, 50);
long time = System.currentTimeMillis();
keyTest(Frame f) {
super(f);
Dimension s = getToolkit().getScreenSize();
width = (int) s.getWidth();
height = (int) s.getHeight();
this.setBounds(0, 0, width, height);
this.buf = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
gc = buf.getGraphics();
this.setVisible(true);
this.setAlwaysOnTop(true);
this.buf = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
gc = buf.getGraphics();
new Thread(this).start();
}
public static void main(String s[]) {
JFrame help = new JFrame("打字练习");
help.setVisible(true);
help.setDefaultCloseOperation(3);
help.addKeyListener(new keyTest(help));
}
public void keyTyped(KeyEvent e) {
}
public synchronized void keyPressed(KeyEvent e) {
if (e.getKeyCode() == 27) {
play = false;
this.dispose();
System.exit(0);
}
char s = e.getKeyChar();
if (s >= 'a' && s <= 'z' |32313133353236313431303231363533e59b9ee7ad9431333262343063| (s >= 'A' && s <= 'Z')) {
String l = "" + s;
for (int i = 0; i < keys.size(); i++) {
if (l.equals(((oneChar) keys.elementAt(i)).s)) {
keys.removeElementAt(i);
ok++;
return;
}
}
error++;
}
}
public void keyReleased(KeyEvent e) {
}
@Override
public void update(Graphics g) {
gc.setColor(Color.BLACK);
gc.fillRect(0, 0, width, height);
gc.setColor(Color.red);
int l = (ok + error) > 0 ? (ok * 100 / (ok + error)) : 100;
gc.setFont(small);
gc.drawString("成功:" + ok + " 错误:" + error + " 失败:" + fail + " 正确率:" + l + "% 时间:" + (System.currentTimeMillis() - time) / 1000, 10, height - 30);
gc.setFont(big);
oneChar o;
for (int i = 0; i < keys.size(); i++) {
o = keys.elementAt(i);
gc.setColor(o.c);
gc.drawString(o.s, o.x, o.y += 6);
if (o.y > height - 10) {
fail++;
keys.removeElementAt(i);
}
}
g.drawImage(buf, 0, 0, null);
}
public void run() {
while (play) {
try {
sum++;
if (sum % 5 == 0) {
newchar();
}
Thread.sleep(80);
repaint();
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
private void newchar() {
keys.add(oneChar.getinstance(width));
}
}
package chen;
import java.awt.Color;
public class oneChar {
static java.util.Random r = new java.util.Random();
public static oneChar getinstance(int maxX) {
oneChar a = new oneChar();
int b = r.nextInt(26);
a.s = "" + (char) (b + (r.nextInt(4) > 1 ? 'a' : 'A'));
a.x = r.nextInt(maxX - 30);
a.c = new Color(r.nextInt(256), r.nextInt(256), r.nextInt(256));
return a;
}
int x, y;
Color c;
String s;
}
参考资料:
如果您的回答是从其他地方引用,请表明出处
本回答被提问者采纳
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
java打字小游戏源码_求JAVA编写打字游戏源代码!相关推荐
- java web开源项目源码_适合Java新手的开源项目集合——在 GitHub 学编程
作者:HelloGitHub-老荀 当今互联网份额最大的编程语言是哪一个?是 Java!这两年一直有听说 Java 要不行了.在走下坡路了.没错,Java 的确在走下坡路,未来的事情的确不好说,但是瘦 ...
- java企业人事管理系统源码_基于Java+SSH的企业人事管理系统
需求分析 基于Spring, Struts2, Hibernate,Java 实现一个企业人事管理系统, 实现 权限管理.人事管理.考勤管理.数据统计等.主要功能为签到.请假.离岗及数据汇总的功能 本 ...
- java企业人事管理系统源码_企业人事管理系统完美版源代码 - 源码下载|行业应用软件|企业管理(财务/ERP/EIP等)|源代码 - 源码中国...
企业人事管理系统完美版源代码 ............................\DataEnvironment.DCA ............................\DataEnv ...
- 最新酒桌小游戏喝酒小程序源码_带流量主源码下载
2022最新酒桌小游戏喝酒小程序源码_带流量主 喝酒神器3.6,我修改增加了广告位,根据文档直接替换即可,原版本没有广告位 直接上传源码到开发者端即可 通过后改广告代码,然后关闭广告展示提交,通过后打 ...
- 2022最新酒桌小游戏喝酒小程序源码_带流量主
2022最新酒桌小游戏喝酒小程序源码_带流量主 喝酒神器3.6,我修改增加了广告位,根据文档直接替换即可,原版本没有广告位 直接上传源码到开发者端即可 通过后改广告代码,然后关闭广告展示提交,通过后打 ...
- 宝宝起名神器小程序源码_支持多种流量主模式
2022年马上到了,还不知道怎么给虎宝宝取名字么? 那么这款小程序源码就可以帮到你了,这款小程序支持输入姓氏自动起名. 不满意还可以点击换一换来找到满意的,支持起两个字或者三个字的名字. 另外也给该款 ...
- 新动态视频壁纸微信小程序源码_支持多种分类短视频-也有静态壁纸
这是一款主打动态视频壁纸的一款微信小程序源码,当然啦,里面也是有静态壁纸的. 其实这款小程序也可以说是短视频小程序都可以,该款小程序全采集,另外支持多种流量主!! 下载链接: 新动态视频壁纸微信小程序 ...
- 小程序源码:王者战力查询,游戏扫码登录,王者巅峰信息查询等等支持流量主收益和CPS收益-多玩法安装简单
这是一款特别强大的一款微信小程序源码 初步算了一下,该款小程序目前包含了几十个功能 具体功能如以下: 游戏扫码登录 王者战力查询 改名生成(多种生成方式) 头像框制作(N款模板) 王者巅峰数据查询 王 ...
- 图片拼图微信小程序源码_支持多模板制作和流量主
介绍: 该款小程序支持多种流量主: 另外支持多种图形模板制作切割: 另外也支持长图合成等功能: 安装简单,新手容易上手,具体就不多说了大家自行研究吧!!!! 图片拼图微信小程序源码_支持多模板制作和流 ...
最新文章
- CTFshow 命令执行 web34
- 如何搭建一个 MySQL 分布式集群
- [leetcode] 103.二叉树的锯齿形遍历
- JavaScript实现单词首字母大写的方法集锦
- 在服务器端渲染完毕的 Angular Component,在客户端还会重新渲染一次吗?
- c语言建立一个链表,每个结点包括姓名和成绩,求C语言几道题的答案~~拜托了~~...
- linux乱码的文件怎么删除,如何删除Linux的乱码文件
- Oracle修改实例名SID
- 解决Spark集群无法停止
- Ubuntu 安装 H3C iNode 客户端
- scipy回归分析_业余时间学数据分析,如何快速上手
- “迷你版迪士尼乐园”是怎样炼成的?
- c语言身高和标准体重,c语言4-15 输出标准身高体重对照表
- 小程序的今天就是微信指数的明天
- C语言的进制转换以及算法实现
- MATLAB制作PPT(一):插入图片
- 金融机构数字化转型对央企建筑公司数字化转型的启示
- 前端三刺客---JS(WebAPI)
- matlab响应曲面设计,分析响应曲面设计
- 电脑每次重启总是会进行磁盘检查
热门文章
- (扩展)BSGS与高次同余方程
- 如何寻找数组中最大值与最小值(取双元素法)
- 老子研究文献知识发现数据竞赛
- 力扣6. Z 字形变换
- 大饱眼福,52个数据可视化图表鉴赏
- 启用vsftpd日志及其解读
- 产品硬件成本分析_硬件项目中的错误成本
- 更快、更 Pythonic 的 PyTorch 2.0 | 非常值得期待
- 高德地图各种摄像头图标_【高德地图上的摄像头资讯】高德地图上的摄像头足球知识与常识 - 足球百科 - 599比分...
- Windows-to-Linux roadmap: Part 2. Console crash course