介绍
这篇文章主要讲解了Java实现打字游戏的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
新建一个项目,然后在src里面建一个MyGame.java文件,
把代码粘到刚才新建的MyGame。java,
然后把两张图放到src下,就行了
<强>一、代码强>
进口javax.swing。*; 进口javax.swing.event.ChangeEvent; 进口javax.swing.event.ChangeListener; 进口java.awt。*; 进口java.awt.event。*; 公开课MyGame { 静态UIFrame UIFrame;//主界面 静态玩笑玩笑;//正式游戏开始界面 公共静态void main (String [] args) { uiFrame=new uiFrame(“打字游戏“); 玩笑=new儿戏(); }/*游戏主界面*/静态类UIFrame延伸JFrame { int宽度=500; int高度=700; 字体X=新字体(“方正舒体“,字体。平原,30); JLabel playjb=new JLabel(“开始游戏“); JLabel rulejb=new JLabel(“规则“); JLabel exitjb=new JLabel(“退出游戏“); JFrame f1=new JFrame(“规则“);/*主界面设置*/公共UIFrame(字符串文本){ 超级(文本); this.setLayout(空); 这一点。setSize(宽度、高度); this.setLocationRelativeTo(空); this.setResizable(假); this.getLayeredPane () .setLayout(空); JPanel imgPanel=(JPanel) this.getContentPane (); imgPanel.setOpaque(假); imgPanel。setBounds(0, 0,宽度、高度); imgPanel.setLayout(空);=new ImageIcon ImageIcon图标(“src/bg.jpg"); JLabel标签=new JLabel(图标); 标签。setBounds (0, 0, this.getWidth (), this.getHeight ()); icon.setImage (icon.getImage () .getScaledInstance (label.getWidth (), label.getHeight (), Image.SCALE_DEFAULT)); this.getLayeredPane ()。add(标签,Integer.valueOf (Integer.MIN_VALUE)); 标题标题=new标题();//新建一个标题对象 this.add(标题);//往窗口中加入标题面板 线程t=新线程(标题);//将标题面板加入一个线程 t.start();//启动线程,实现标题面板下落 buildButton (); add_JB_Listener (); setruleJF (); this.setVisible(真正的); }/*设置按钮规格*/公共空间buildButton () { playjb.setForeground (Color.red); rulejb.setForeground (Color.red); exitjb.setForeground (Color.red); playjb.setFont (X); rulejb.setFont (X); exitjb.setFont (X); playjb。setBounds(宽/3,高度* 2/6,宽度/3,50); rulejb。setBounds(宽/3,高度* 3/6,宽度/3,50); exitjb。setBounds(宽/3,高度* 4/6,宽度/3,50); playjb.setHorizontalAlignment (JLabel.CENTER); rulejb.setHorizontalAlignment (JLabel.CENTER); exitjb.setHorizontalAlignment (JLabel.CENTER); this.add (playjb); this.add (rulejb); this.add (exitjb); }/*设置规则窗口*/公共空间setruleJF () { JLabel text1=new JLabel (“& lt; html> & lt; body>“+“基本规则:点击开始游戏后可以选择生命值,确认后游戏正式开始游戏开始后会自动下落四个三位“+“& lt; br>“+“,,,,,,,,,,”+“数,在输入框中输入其中之一会自动消除这个三位数,“+ “得分增加,并产生新数字,当数字“+“& lt; br>“+“,,,,,,,,,,”+“掉落到屏幕底部时生命值减一,生命值为0游戏结束。(PS:在输入框中输入空格游戏暂“+“& lt; br>“+“,,,,,,,,,,”+“停,输入任意数字则继续)“;+“& lt; br>“+“& lt; br>“+ “难度介绍:游戏难度会随着得分的增加而自动增加,也可使用滑块自己调整数字下落难度等级!”+“& lt; br>“+“& lt; br>“+ “闪烁模式:游戏开始后可以点击开始闪烁按钮来开始闪烁模式,此时数字会隔一段时间消失再出现!”+“& lt; br>“+“& lt; br>“+“好好享受吧!“+“& lt;/body> & lt;/html>“); text1.setVerticalAlignment (JLabel.NORTH);//使其文本位于JLabel顶部 text1。setFont(新字体(“宋体“,字体。平原,20)); f1.add (text1);//f1为显示规则的窗口 f1.setResizable(假); f1。(2 *宽度- 100,高度setSize/2); f1.setLocationRelativeTo(空); }/*按钮添加监听器*/公共空间add_JB_Listener () { playjb。addMouseListener(新MouseAdapter () { @Override 公共空间mouseClicked (MouseEvent e) { setVisible(假); Chooselife Chooselife=new Chooselife (); } @Override 公共空间mouseEntered (MouseEvent e) { playjb.setBorder (BorderFactory。createMatteBorder (2, 2, 2, 2, Color.LIGHT_GRAY)); } @Override 公共空间mouseExited (MouseEvent e) { playjb.setBorder(空); } }); rulejb。addMouseListener(新MouseAdapter () { @Override 公共空间mouseClicked (MouseEvent e) { f1.setVisible(真正的); } 公共空间mouseEntered (MouseEvent e) { rulejb.setBorder (BorderFactory。createMatteBorder (2, 2, 2, 2, Color.LIGHT_GRAY)); } @Override 公共空间mouseExited (MouseEvent e) { rulejb.setBorder(空); } }); exitjb。addMouseListener(新MouseAdapter () { @Override 公共空间mouseClicked (MouseEvent e) { system . exit (0); } 公共空间mouseEntered (MouseEvent e) { exitjb.setBorder (BorderFactory。createMatteBorder (2, 2, 2, 2, Color.LIGHT_GRAY)); } @Override 公共空间mouseExited (MouseEvent e) { exitjb.setBorder(空); } }); } }/*选择生命界面*/静态类Chooselife延伸JFrame { 静态布尔gamePlayflag=false;//第一次开始游戏则为false,否则为真, Chooselife () { setTitle(“选择生命值“); setAlwaysOnTop(真正);//置于顶部 setLayout(空); setSize (300、100); setLocationRelativeTo(空); setResizable(假); setBotton();//设按钮 setVisible(真正的); }/*设置按钮*/空白setBotton () { ButtonGroup生活=new ButtonGroup();//新建按钮组实现互斥 JRadioButton alt=" Java实现打字游戏的方法">Java实现打字游戏的方法