java打字小游戏_JAVA打字小游戏
展开全部
前几天才给别人做了..你看下e69da5e6ba9062616964757a686964616f31333238663036吧...声音文件要的话在问我..
//改好你的要求了
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Toolkit;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Rectangle;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JSlider;
import javax.swing.JLabel;
import javax.swing.UIManager;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.File;
import java.util.Vector;
public class 打字练习 extends JFrame implements Runnable {
JPanel contentPane;
JPanel jPanel1 = new JPanel();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
int count = 1, rapidity = 80; // count 当前进行的个数, rapidity 游标的位置
int rush = 10; // 游戏每关的个数 可以自由添加.列 { 10 ,20 ,30 ,40,50}
int rush_count = 0; // 记录关数
char list[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; // 随机出现的数字
// 可以自由添加
String paiduan = "true";
Vector number = new Vector();
boolean foo=true;
public 打字练习() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(null);
setSize(new Dimension(588, 530));
setTitle("Frame Title");
jPanel1.setBorder(BorderFactory.createEtchedBorder());
jPanel1.setBounds(new Rectangle(4, 4, 573, 419));
jPanel1.setLayout(null);
jButton1.setBounds(new Rectangle(277, 442, 89, 31));
jButton1.setText("开始");
jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
jButton2.setBounds(new Rectangle(408, 442, 89, 31));
jButton2.setText("结束");
jButton2.addActionListener(new Frame1_jButton2_actionAdapter(this));
contentPane.add(jPanel1);
contentPane.add(jButton2);
contentPane.add(jButton1);
this.addKeyListener(new MyListener());
jButton1.addKeyListener(new MyListener());
}
public void run() {
while(foo){
try {
Thread t = new Thread(new Tthread());
t.start();
count += 1;
Thread.sleep(1000 + (int) (Math.random() * 2000)); // 生产下组停顿时间
// 最快1快.最慢2秒
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public void jButton1_actionPerformed(ActionEvent e) {
foo=true;
Thread t = new Thread(this);
t.start();
}
public void jButton2_actionPerformed(ActionEvent e) {
paiduan = "flase";
foo=false;
}
class Tthread implements Runnable {
public void run() {
boolean fo = true;
int Y = 0, X = 0;
JLabel show = new JLabel();
show.setFont(new java.awt.Font("宋体", Font.PLAIN, 33));
jPanel1.add(show);
X = 10 + (int) (Math.random() * 400);
String parameter = list[(int) (Math.random() * list.length)] + "";
Bean bean = new Bean();
bean.setParameter(parameter);
bean.setShow(show);
number.add(bean);
show.setText(parameter);
while (fo) {
// ---------------------数字下移--------------------
show.setBounds(new Rectangle(X, Y += 2, 33, 33));
try {
Thread.sleep(rapidity);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (Y >= 419) {
fo = false;
for (int i = number.size() - 1; i >= 0; i--) {
Bean bn = ((Bean) number.get(i));
if (parameter.equalsIgnoreCase(bn.getParameter())) {
number.removeElementAt(i);
break;
}
}
}
}
}
}
class MyListener extends KeyAdapter {
public void keyPressed(KeyEvent e) {
String uu = e.getKeyChar() + "";
for (int i = 0; i
Bean bean = ((Bean) number.get(i));
if (uu.equalsIgnoreCase(bean.getParameter())) {
number.removeElementAt(i);
bean.getShow().setVisible(false);
break;
}
}
}
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception exception) {
exception.printStackTrace();
}
打字练习 frame = new 打字练习();
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height) {
frameSize.height = screenSize.height;
}
if (frameSize.width > screenSize.width) {
frameSize.width = screenSize.width;
}
frame.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
frame.setVisible(true);
}
}
class Frame1_jButton2_actionAdapter implements ActionListener {
private 打字练习 adaptee;
Frame1_jButton2_actionAdapter(打字练习 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton2_actionPerformed(e);
}
}
class Frame1_jButton1_actionAdapter implements ActionListener {
private 打字练习 adaptee;
Frame1_jButton1_actionAdapter(打字练习 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
class Bean {
String parameter = null;
JLabel show = null;
public JLabel getShow() {
return show;
}
public void setShow(JLabel show) {
this.show = show;
}
public String getParameter() {
return parameter;
}
public void setParameter(String parameter) {
this.parameter = parameter;
}
}
java打字小游戏_JAVA打字小游戏相关推荐
- java赛马游戏_Java多线程赛马游戏
[实例简介] 自己用java写的一个赛马的小游戏,用到了多线程和java swing ,分享给大家! [实例截图] [核心代码] cu0vk0 └── 赛马 └── smGame ├── bin │ ...
- java画图板代码_java学习小总结——画图板制做(附代码)
学习java这门编程语言也有一个多月了.~若是能用本身学的编程语言去开发一些小程序软件能够说是本身一直求之不得吧!.模仿XP的画图板的开发则是学java来最先作的一个小软件.也是把以前学到的不少知识得 ...
- java 弹幕游戏_JAVA 弹幕小游戏 1.0版本
java 弹幕小游戏 最初版本 最近在学习javaSE,根据b站视频老师的讲解,也参考了他的代码,做了一个弹幕小游戏,也增添了一些自己的代码进去,因为只是最简单的游戏体,以后会慢慢做完整,所以如果有错 ...
- java编写游戏_java编写小游戏-大球吃小球
游戏界面: 点击火箭开始游戏 点击Exit退出游戏 左上角显示当前成绩和历史最高分 退出自动保存最高成绩 代码获取 扫码关注微信公众号[程序猿声] 在后台回复[EBG]不包括[]即可获取. 玩法: 玩 ...
- java打字游戏_Java打字游戏
贴吧上看到有人做Java打字游戏,但是问题多多,我把他的程序拿来大改一番,算是半个原创吧.键盘按出对应字母,则该字母消失并随机产生新字母. 如果加些贴图润色一下可以更美观,学习计划紧,暂时不美化了. ...
- java模拟国际象棋游戏_java国际象棋小游戏
[实例简介] 用java编写的国际象棋游戏 在eclipse环境下可以运行 界面美观 适合初学者 [实例截图] [核心代码] https___download.csdn.net_download_mo ...
- java 简单的游戏_java简单小游戏!
一.从电脑中取得随机数,然而用这些随机数来定义(剪刀,石头,布) public class Doubu { String name; int Score; public int showFlst() ...
- 30分钟java桌球小游戏_Java桌球小游戏(兴趣制作)
两张图片放在src的同级目录下 版本一.出现窗口 package cn.xjion.game; /** * 出现窗口 * @author xjion * */ import java.awt.*; i ...
- java与3d建模_java和3d游戏建模哪个?有没有3d建模转java或java转3的建模大佬给我指点一下...
大三了,对于以后就业,学习方向有点迷茫,有没有3d建模转java或java转3的建模大佬给我指点一下,非常感谢.计算机专业的,学校主学的java,由于前几年没好好学,现在什么都不会,现在知道学习了,暑 ...
- java基础小项目_java基础小项目练习之1----3天做出飞机大战
Shoot射击游戏第一天 一.关键问题(理论): 1.简述FlyingObject.Enemy.Award.Airplane.Bee.Bullet.Hero之间的继承与实现关系 2.简述Hero类构造 ...
最新文章
- mybatis if标签比较字符串
- 【Python】json
- 可以进行单元测试么_前端与单元测试
- SQL、LINQ、Lambda 三种用法
- 全球数十亿条用户记录被泄露,姓名住址全曝光,Oracle或已引发今年最大的数据安全事件...
- 何谓 SQL 注入,这个漫画告诉你
- server系统万能网卡驱动离线版_科普一分钟|BIOS引导+MBR硬盘格式装系统方法
- 机器学习:什么是欠拟合和过拟合
- panda是删除行_如何从Pandas数据帧中删除行列表?
- Java编程思想评注者序
- Changing the IP Address of a Domain Controller
- MT4系统自带指标代码
- dateutil 日期计算_时间工具——DateUtil
- C语言入门--状态机编程
- 秒懂设计模式之桥接模式(Bridge Pattern)
- shell脚本从基础到实战(全网最详细)监控、加减乘除、购票、批量创建与删除用户等脚本
- 基于springboot的智能美食点餐配送系统
- 服务器多个cpu的作用,服务器多核CPU是什么?多核CPU有什么用?
- MT 101 Request for Transfer转账请求
- 编辑器将光标横线变成竖线