Java小游戏源代码
/282919088
进口?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 .向量;
公共?班级?框架?延伸?JFrame?器物?可运行?{
JPanel?contentPane
JPanel?jPanel1?=?新的?JPanel();
JButton?jButton1?=?新的?JButton();
JSlider?jSlider1?=?新的?js lider();
JLabel?jLabel1?=?新的?JLabel();
JButton?jButton2?=?新的?JButton();
JLabel?jLabel2?=?新的?JLabel();
int?数数?=?1,?快速性?=?80;?//?数数?当前的号码?快速性?光标位置
int?正雀?=?0,?措吾?=?0;
int?rush[]?=?{?10?,20?,30?};?//游戏中的关卡数量?可以补充。自由列?{?10?,20?,30?,40,50}
int?rush_count?=?0;?//记录结束号码
夏尔?列表[]?=?{?一个',?b ',?c ',?d ',?e ',?f ',?g ',?h ',?我',?j ',?k ',?l ',
' m ',?n ',?奥,,?p ',?q ',?r ',?s ',?t ',?u ',?v ',?w ',?x ',?y ',
z ',?'1',?'2',?'3',?'4',?'5',?'6',?'7',?'8',?'9'?};//随机数?可以自由添加。
向量?号码?=?新的?向量();
字符串?派端?=?“真”;
音频剪辑?安建穆斯奇?音乐_白石?音乐_成功;
公共?Frame()?{
试试?{
setDefaultCloseOperation(EXIT _ ON _ CLOSE);
// -声音文件。
安建穆斯奇?=?Applet.newAudioClip(新?文件(" sounds//anjian.wav ")
。toURL());
音乐_白石?=?Applet.newAudioClip(新?文件(" sounds//shibai.wav ")
。toURL());
音乐_成功?=?Applet.newAudioClip(新?文件(
“声音//chenggong.wav”)。toURL());
// -
JB init();
}?接住?(例外?例外)?{
exception . printstacktrace();
}
}
/**
*?组件?初始化。
*?
*?@throws?异常
*/
私人?作废?jbInit()?摔投?例外?{
contentPane?=?(JPanel)?getContentPane();
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(新?frame 1 _ jbutton 1 _ action adapter(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 ");
jButton2.addActionListener(新?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.addKeyListener(新?my listener());
jButton1.addKeyListener(新?my listener());
jSlider1.addKeyListener(新?my listener());
jslider 1 . addchangelistener(新?ChangeListener()?{
公共?作废?stateChanged(ChangeEvent?e)?{
快速性?=?jslider 1 . getvalue();
}
});
}
公共?作废?run()?{
number . clear();
正雀?=?0;
措吾?=?0;
派端?=?“真”;
什么时候?(算吗?& lt=?rush[rush_count])?{?
试试?{
线程?t?=?新的?线程(新?tthread());
t . start();
数数?+=?1;
Thread.sleep(1000?+?(int)?(Math.random()?*?2000));?//?下一个生产组的暂停时间
//?最快是1。最慢2秒。
}?接住?(中断异常?e)?{
e . printstacktrace();
}
}
什么时候?(真)?{?//?等待最后一个字符消失
如果?(number.size()?==?0)?{
打破;
}
}
如果?(正雀?==?0)?{?//?为了将来的分工..如果都是对的或错的,就会有错误。因此..
正雀?=?1;
}
如果?(cuowu?==?0)?{
措吾?=?1;
}
如果?(paiduan.equals("true "))?{?//?判断是不是自然结局。
如果?(正雀?/?措吾?& gt=?2)?{
joptionpane . showmessagedialog(null,“恭喜你通过”);
rush_count?+=?1;?//?自动加1关。
如果?(rush_count?& lt?rush.length)?{
如果?(快速性?& gt?10)?{?//?当速度大于10时,在-5处提升加速度。恐怕速度太快了。
快速性?-=?5;?//?速度自动降低10毫秒。
jSlider1.setValue(快速性);?//?选择位置
}
线程?t?=?新的?线程(this);
t . start();
}?不然呢?{
joptionpane . showmessagedialog(null,“牛b...你已经通关了……”);
rush_count?=?0;
数数?=?0;
}
}?不然呢?{
joptionpane . showmessagedialog(null,“请再接再厉”);
rush_count?=?0;
数数?=?0;
}
}?不然呢?{
rush_count?=?0;
数数?=?0;
}
}
公共?作废?jbutton 1 _ action performed(action event?e)?{
线程?t?=?新的?线程(this);
t . start();
}
公共?作废?jbutton 2 _ action performed(action event?e)?{
数数?=?rush[rush_count]?+?1;
派端?=?”弗雷塞”;
}
班级?Tthread?器物?可运行?{
公共?作废?run()?{
布尔?fo?=?真实;
int?y?=?0,?x?=?0;
JLabel?秀?=?新的?JLabel();
show.setFont(新?Java.awt.Font ("ì",字体。平平淡淡?33));
jpanel 1 . add(show);
x?=?10?+?(int)?(Math.random()?*?400);
字符串?参数?=?list[(int)?(Math.random()?*?list.length)]?+?"";
豆子?豆子?=?新的?bean();
bean.setParameter(参数);
bean . set show(show);
number . add(bean);
show.setText(参数);
什么时候?(fo)?{
//?-数字向下移动。
show.setBounds(新?矩形(X,y?+=?2,?33,?33));
试试?{
Thread.sleep(快速);
}?接住?(中断异常?e)?{
e . printstacktrace();
}
如果?(Y?& gt=?419)?{
fo?=?假的;
为了什么?(int?我?=?number.size()?-?1;?我?& gt=?0;?我-)?{
豆子?bn?=?((豆)?number . get(I));
如果?(parameter . equalsignorecase(bn . getparameter()))?{
措吾?+=?1;
JLabel2.setText("正确:"?+?正雀?+?错误:“?+?错吾
+?“一”);
number . removeelementat(I);
music _ shibai . play();
打破;
}
}
}
}
}
}
班级?我的听众?延伸?KeyAdapter?{
公共?作废?按键(按键事件?e)?{
字符串?uu?=?e.getKeyChar()?+?"";
为了什么?(int?我?=?0;?我?& lt?number . size();?i++)?{
豆子?豆子?=?((豆)?number . get(I));
如果?(uu . equalsignorecase(bean . getparameter()))?{
正雀?+=?1;
number . removeelementat(I);
bean.getShow()。set visible(false);
JLabel2.setText("正确:"?+?正雀?+?错误:“?+?措吾?+?“一”);
music _ cheng gong . play();
打破;
}
}
musci _ anjian . play();
}
}
公共?静电?作废?main(String[]?args)?{
试试?{
ui manager . setlookandfeel(ui manager . getsystemlookandfeelclassname());
}?接住?(例外?例外)?{
exception . printstacktrace();
}
框架?框架?=?新的?frame();
维度?屏幕尺寸?=?Toolkit.getDefaultToolkit()。getScreenSize();
维度?框架大小?=?frame . getsize();
如果?(frameSize.height?& gt?screenSize.height)?{
框架尺寸.高度?=?screenSize.height
}
如果?(frameSize.width?& gt?屏幕尺寸.宽度)?{
框架尺寸.宽度?=?screenSize.width
}
frame . set location((screen size . width?-?frameSize.width)?/?2,
(screenSize.height?-?frameSize.height)?/?2);
frame . set visible(true);
}
}
班级?frame 1 _ jbutton 2 _ action adapter?器物?ActionListener?{
私人?框架?适应者;
Frame 1 _ jbutton 2 _ action adapter(Frame?adaptee)?{
这个. adaptee?=?适应者;
}
公共?作废?actionPerformed(ActionEvent?e)?{
adaptee . jbutton 2 _ action performed(e);
}
}
班级?frame 1 _ jbutton 1 _ action adapter?器物?ActionListener?{
私人?框架?适应者;
Frame 1 _ jbutton 1 _ action adapter(Frame?adaptee)?{
这个. adaptee?=?适应者;
}
公共?作废?actionPerformed(ActionEvent?e)?{
adaptee . jbutton 1 _ action performed(e);
}
}
班级?豆子?{
字符串?参数?=?null
JLabel?秀?=?null
公共?JLabel?getShow()?{
回归?展示;
}
公共?作废?setShow(JLabel?秀)?{
这个节目?=?展示;
}
公共?字符串?getParameter()?{
回归?参数;
}
公共?作废?setParameter(字符串?参数)?{
这个参数?=?参数;
}
}