當前位置:編程學習大全網 - 編程語言 - JAVA打字小遊戲

JAVA打字小遊戲

前幾天才給別人做了..妳看下吧...聲音文件要的話在問我..?

/282919088/blog/item/953f5116836a544321a4e972.html 

//改好妳的要求了

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?<?number.size();?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;

}

}

  • 上一篇:iphonex使用技巧
  • 下一篇:小男孩不想學編程怎麽辦?
  • copyright 2024編程學習大全網