快速业务通道

改进后的Java英文字母打字游戏 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

改进后的Java英文字母打字游戏

时间:2011-01-19

//以下代码在JDK1.4下通过 //编译:javac MyPanel.java //运行:java MyPanel //Made By Qiukai //注意:启动后,在窗口中点鼠标反键选择开始游戏进行 import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; public class MyPanel extends JFrame { public int FPS; public Thread newthread; public static boolean swit; MouseListener ml=new C(); KeyListener kl=new D(); JPopupMenu jmp; JMenuItem jmi; letter myletter; Random r; int isTypedSum; int isOmittedSum; int isWrongTypedSum; int width,height; float percent; Toolkit KT; public static void main(String args[]) { new MyPanel(); } public MyPanel() { KT=this.getToolkit(); width=KT.getScreenSize().width; height=KT.getScreenSize().height; this.setSize(new Dimension(width,height)); this.setContentPane(new A()); this.show(); FPS=100; isTypedSum=isOmittedSum=isWrongTypedSum=0; percent=0f; r=new Random(); } class A extends JPanel implements Runnable { public A() { this.setBackground(Color.pink); addComponents(); sta(); } public void sta() { newthread=new Thread(this); newthread.start(); myletter=new letter(MyPanel.this); myletter.randomLetters(); } public void run() { while(newthread!=null) { this.repaint(); try { Thread.sleep(FPS); }catch(InterruptedException e) { System.out.println(e.toString()); } } } public void addComponents() { MyPanel.this.addKeyListener(kl); jmp=new JPopupMenu(); jmi=new JMenuItem("开始游戏"); jmi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { isTypedSum=isOmittedSum=isWrongTypedSum=0; swit=true; sta(); } }); jmp.add(jmi); jmi=new JMenuItem("结束游戏"); jmi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { stop(); swit=false; } }); jmp.add(jmi); jmp.addSeparator(); jmi=new JMenuItem("增加字母数字"); jmi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(myletter.exist_letter_num==9); else myletter.exist_letter_num++; myletter.randomLetters(); } }); jmp.add(jmi); jmi=new JMenuItem("加快下落速度"); jmi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { for(int i=0;i<myletter.exist_letter_num;i++) myletter.speed[i]++; } }); jmp.add(jmi); jmp.addSeparator(); jmi=new JMenuItem("减少字母数字"); jmi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(myletter.exist_letter_num==1); else myletter.exist_letter_num--; myletter.randomLetters(); } }); jmp.add(jmi); jmi=new JMenuItem("减缓下落速度"); jmi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { for(int i=0;i<myletter.exist_letter_num;i++) { if(myletter.speed[i]>1) myletter.speed[i]--; } } }); jmp.add(jmi); MyPanel.this.addMouseListener(ml); } public void paintComponent(Graphics g) { super.paintComponent(g); int sum; int showPercent=0; if(swit) { myletter.paintLetters(g); sum=isT

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号