當前位置:菜譜大全網 - 素菜食譜大全 - 求java小遊戲源代碼

求java小遊戲源代碼

導入Java . applet . applet;

導入Java . applet . audio clip;

導入Java . awt . dimension;

導入Java . awt . font;

導入Java . awt . toolkit;

導入javax . sound . sampled . audio file format;

導入javax . sound . sampled . audio system;

導入javax . swing . jframe;

導入javax . swing . jpanel;

導入Java . awt . rectangle;

導入javax . swing . border factory;

導入javax . swing . jbutton;

導入javax . swing . joptionpane;

導入javax . swing . js lider;

導入javax . swing . jlabel;

導入javax . swing . swing utilities;

導入javax . swing . ui manager;

導入javax . swing . event . change event;

導入javax . swing . event . change listener;

導入Java . awt . event . action event;

導入Java . awt . event . action listener;

導入Java . awt . event . key adapter;

導入Java . awt . event . key event;

導入Java . io . file;

導入Java . util . vector;

公共類Frame擴展JFrame實現Runnable {

JPanel contentPane

JPanel JPanel 1 = new JPanel();

JButton JButton 1 = new JButton();

JSlider JSlider 1 = new JSlider();

JLabel JLabel 1 = new JLabel();

JButton JButton 2 = new JButton();

JLabel JLabel 2 = new JLabel();

int計數= 1,快度= 80;//計算當前數字,以及快速光標的位置。

int zhengque = 0,CuO Wu = 0;

int rush[] = { 10,20,30 };//遊戲中的關卡數量可以自由添加。列{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 ' };//隨機數可以自由添加。

向量號= new Vector();

String paiduan = " true

AudioClip Musci _安建,音樂_白石,音樂_呈貢;

公共框架(){

嘗試{

setDefaultCloseOperation(EXIT _ ON _ CLOSE);

// -聲音文件。

Musci _安建= Applet.newAudioClip(新文件(" sounds//anjian.wav ")

。toURL());

Music _白石= Applet.newAudioClip(新文件(" sounds//shibai.wav ")

。toURL());

music _ cheng gong = applet . newaudioclip(新文件(

“聲音//chenggong.wav”)。toURL());

// -

JB init();

} catch(異常異常){

exception . printstacktrace();

}

}

/**

*組件初始化。

*

* @throws java.lang.Exception

*/

私有void jbInit()拋出異常{

content pane =(JPanel)get content pane();

content pane . set layout(null);

setSize(新維度(588,530));

setTitle(“幀標題”);

jpanel 1 . set border(border factory . createetchedborder());

jPanel1.setBounds(新矩形(4,4,573,419));

jpanel 1 . set layout(null);

jButton1.setBounds(新矩形(277,442,89,31));

jbutton 1 . settext(" Start ");

jbutton 1 . addactionlistener(new frame 1 _ jbutton 1 _ actionAdapter(this));

jSlider1.setBounds(新矩形(83,448,164,21));

jslider 1 . setmaximum(100);

jslider 1 . set minimum(1);

js lider 1 . setvalue(50);

jlabel 1 . settext(" speed ");

jLabel1.setBounds(新矩形(35,451,39,18));

jButton2.setBounds(新矩形(408,442,89,31));

jbutton 2 . settext(" end ");

jbutton 2 . addactionlistener(new frame 1 _ jbutton 2 _ action adapter(this));

jlabel 2 . settext(" Level 1:100 ");

jLabel2.setBounds(新矩形(414,473,171,21));

content pane . add(jpanel 1);

content pane . add(jbutton 2);

content pane . add(jbutton 1);

content pane . add(jslider 1);

content pane . add(jlabel 1);

content pane . add(jlabel 2);

this . addkey listener(new my listener());

jbutton 1 . addkey listener(new my listener());

jslider 1 . addkey listener(new my listener());

jslider 1 . addchangelistener(new change listener(){

public void state changed(change event e){

快速性= js lider 1 . getvalue();

}

});

}

公共無效運行(){

number . clear();

正缺= 0;

cuowu = 0;

paiduan = " true

while(count & lt;= rush[rush_count]) {

嘗試{

Thread t =新線程(new Tthread());

t . start();

count+= 1;

thread . sleep(1000+(int)(math . random()* 2000));//下壹個生產組的暫停時間

//最快是1。最慢2秒。

} catch (InterruptedException e) {

e . printstacktrace();

}

}

While (true) {//等待最後壹個字符消失。

if (number.size() == 0) {

打破;

}

}

If (zhengque == 0) {//用於未來除法...如果都是對的或錯的,就會出現錯誤。因此..

正雀= 1;

}

if (cuowu == 0) {

CuO Wu = 1;

}

If (paiduan.equals("true")) {//判斷是否是自然結尾。

if(Zheng que/CuO Wu & gt;= 2) {

Joptionpane。顯示消息對話框(空,“恭喜過關”);

rush _ count+= 1;//自動關閉1。

if(rush _ count & lt;rush.length) {

if(快速性& gt10) {//當速度大於10時,將加速度提升到-5。恐怕速度太快了。

快速性-= 5;//速度自動降低10毫秒。

jSlider1.setValue(快速性);//選擇位置

}

Thread t =新線程(this);

t . start();

}否則{

Joption窗格。顯示消息對話框(空,“牛B...妳是清白的……”);

rush _ count = 0;

count = 0;

}

}否則{

Joptionpane。顯示消息對話框(空,“請再接再厲”);

rush _ count = 0;

count = 0;

}

}否則{

rush _ count = 0;

count = 0;

}

}

public void jbutton 1 _ action performed(action event e){

Thread t =新線程(this);

t . start();

}

public void jbutton 2 _ action performed(action event e){

count = rush[rush _ count]+1;

paiduan = " flase

}

Tthread類實現Runnable {

公共無效運行(){

boolean fo = true

int Y = 0,X = 0;

JLabel show = new JLabel();

Show.setFont(新java.awt.Font("宋體",字體。平原,33));

jpanel 1 . add(show);

x = 10+(int)(math . random()* 400);

String參數= list[(int)(math . random()* list . length)]+" ";

Bean Bean = new Bean();

bean.setParameter(參數);

bean . set show(show);

number . add(bean);

show.setText(參數);

while (fo) {

// -數字向下移動。

show.setBounds(新矩形(X,Y += 2,33,33));

嘗試{

Thread.sleep(快速);

} catch (InterruptedException e) {

e . printstacktrace();

}

如果(Y & gt= 419) {

fo =假;

for(int I = number . size()-1;我& gt= 0;我- ) {

Bean bn =((Bean)number . get(I));

if(parameter . equalsignorecase(bn . getparameter()){

CuO Wu+= 1;

JLabel2.setText("正確:"+zhengque+",錯誤:"+cuowu "

+“件”);

number . removeelementat(I);

music _ shibai . play();

打破;

}

}

}

}

}

}

MyListener類擴展KeyAdapter {

公共void按鍵(按鍵事件e) {

string uu = e . getkey char()+" ";

for(int I = 0;我& ltnumber . size();i++) {

Bean Bean =((Bean)number . get(I));

if(uu . equalsignorecase(bean . getparameter()){

正缺+= 1;

number . removeelementat(I);

bean.getShow()。set visible(false);

JLabel2.setText("正確:"+正缺+"個,錯誤:"+cuowu+"個");

music _ cheng gong . play();

打破;

}

}

musci _ anjian . play();

}

}

公共靜態void main(String[] args) {

嘗試{

ui manager . setlookandfeel(ui manager . getsystemlookandfeelclassname());

} catch(異常異常){

exception . printstacktrace();

}

框架Frame = new Frame();

dimension screenSize = toolkit . getdefaulttoolkit()。getScreenSize();

dimension frameSize = frame . getsize();

if(framesize . height & gt;screenSize.height) {

framesize . height = screensize . height;

}

if(framesize . width & gt;screenSize.width) {

framesize . width = screensize . width;

}

frame . set location((screensize . width-framesize . width)/2,

(screensize . height-framesize . height)/2);

frame . set visible(true);

}

}

class frame 1 _ jbutton 2 _ action adapter實現ActionListener {

專用幀適配器;

Frame 1 _ jbutton 2 _ action adapter(幀適配器){

this.adaptee = adaptee

}

public void action performed(action event e){

adaptee . jbutton 2 _ action performed(e);

}

}

類frame 1 _ jbutton 1 _ action adapter實現ActionListener {

專用幀適配器;

Frame 1 _ jbutton 1 _ action adapter(幀適配器){

this.adaptee = adaptee

}

public void action performed(action event e){

adaptee . jbutton 1 _ action performed(e);

}

}

類Bean {

字符串參數= null

JLabel show = null

公共JLabel getShow() {

回歸秀;

}

公共void setShow(JLabel show) {

this.show = show

}

公共字符串getParameter() {

返回參數;

}

public void setParameter(字符串參數){

this.parameter =參數;

}

}