打字母游戏
2015-10-23 16:09
246 查看
利用线程控制字母出现的时间,训练用户寻找键盘上字母的快速能力。
随机出现26位小写字母的一个 输入后按回车即可。
如果输入正确分数+1,字母立刻改变。如果输入错误,分数-1,字母根据线程设置的sleep时间改变
这是结果
随机出现26位小写字母的一个 输入后按回车即可。
如果输入正确分数+1,字母立刻改变。如果输入错误,分数-1,字母根据线程设置的sleep时间改变
package Example12_10; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Example12_10 { public static void main(String args[]){ WindowTyped win=new WindowTyped(); win.setTitle("打字母游戏"); win.setSleepTime(3000); } } class WindowTyped extends JFrame implements ActionListener,Runnable{ JTextField inputLetter; Thread giveLetter; JLabel showLetter,showScore; int sleepTime,score; public void setSleepTime(int sleepTime){ this.sleepTime=sleepTime; } WindowTyped(){ setLayout(new FlowLayout()); giveLetter=new Thread(this); inputLetter =new JTextField(6); showLetter=new JLabel(" ",JLabel.CENTER); showScore=new JLabel("分数:"); showScore.setFont(new Font("宋体",Font.PLAIN,18)); showScore.setForeground(Color.red); showLetter.setFont(new Font("Arial",Font.BOLD,22)); showLetter.setForeground(Color.blue); add(new JLabel("显示字母:")); add(showLetter); add(new JLabel("输入所显示的字母(回车)")); add(inputLetter); add(showScore); inputLetter.addActionListener(this); setBounds(100,100,400,280); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); giveLetter.start(); } public void run(){ while(true){ int x=(int)(Math.random()*26)+0;//随机数 showLetter.setText(""+(char)((char)x+'a')+""); validate(); try{ Thread.sleep(sleepTime); } catch(InterruptedException e){} } } public void actionPerformed(ActionEvent e){ String s=showLetter.getText().trim(); String letter=inputLetter.getText().trim(); if(s.equals(letter)){ score++; showScore.setText("得分"+score); inputLetter.setText(null); validate(); giveLetter.interrupt(); } } }
这是结果
相关文章推荐
- 结构体嵌套中的内存对齐问题
- sc delete 服务器名提示“指定的服务已经标记为删除”
- 多线程学习之六生产消费者模式
- Spring原来属于这家公司
- VC++ CButton::SetCheck 的使用方法
- Tabris.js 介绍与学习<2>
- hdoj 1598 find the most comfortable road 【并查集+贪心】
- Maven内置隐式变量
- SSIS中的容器和数据流—简单介绍
- [leetcode]Remove Nth Node From End of List
- 转场动画 CATransition ,效果惊人
- jQuery判断当前元素显示状态并控制元素的显示与隐藏
- js url参数的获取和设置以及删除
- iOS界面编程-UITextField
- Maven3路程(三)用Maven创建第一个web项目(1)
- android 开源框架Universal-Image-Loader解析
- DRAM,SRAM,SDRAM区别
- android 三大图片缓存原理、特性对比
- drbd+mysql+heartbeat 高可用方案
- Oracle 自动同步数据脚本