Java实现战舰战争游戏源码
更新时间:2021年6月1日 14:23:57 作者:meet cy
相信大家都玩过战舰大战游戏。 这是一个非常有趣的小游戏。 基于代码是如何实现的呢?明天小编给大家带来教程,帮助大家学习java实现导弹战争游戏。 谢谢同学java大战游戏源码java大战游戏源码,请看一下。
代码如下所示
package com.util; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Observable; import javax.swing.JLabel; import javax.swing.JPanel; /* * 进图游戏的主界面面板 */ public class MainPanel extends JPanel { private static final long serialVersionUID = 1L; private MyButton startButton; private MyButton exitButton; private JLabel helpLabel; private JLabel helpLabel1; private JLabel helpLabel2; private JLabel helpLabel3; private Image image; private JLabel centerlabel; private boolean isStart; private boolean isExit; private Observable obs; public MainPanel(Observable ob) { obs = ob; startButton = new MyButton("进入游戏"); exitButton = new MyButton("退出游戏"); helpLabel = new JLabel(); helpLabel1 = new JLabel(); helpLabel2 = new JLabel(); helpLabel3 = new JLabel(); centerlabel = new JLabel(); this.setLayout(new BorderLayout()); this.helpLabel.setPreferredSize(new Dimension(645,291)); this.helpLabel1.setPreferredSize(new Dimension(180,80)); this.helpLabel2.setPreferredSize(new Dimension(215,80)); this.helpLabel3.setPreferredSize(new Dimension(645,80)); this.centerlabel.setPreferredSize(new Dimension(460,80)); centerlabel.setLayout(new GridLayout(2,1)); centerlabel.add(this.startButton); centerlabel.add(this.exitButton); this.centerlabel.setBackground(new Color(255,255,0)); this.add(helpLabel,BorderLayout.NORTH); this.add(helpLabel1,BorderLayout.EAST); this.add(helpLabel2,BorderLayout.WEST); this.add(helpLabel3,BorderLayout.SOUTH); this.add(centerlabel,BorderLayout.CENTER); image = Toolkit.getDefaultToolkit().getImage("imgs/主界面112.png"); // image = new ImageIcon(image).getImage(); this.startButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { boolean flag = true; MainPanel.this.setIsStart(flag); MainPanel.this.obs.notifyObservers(MainPanel.this); } } ); this.exitButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { MainPanel.this.setExit(true); } } ); } public void paint(Graphics g) { super.paint(g); Graphics2D g2 = (Graphics2D) g; g2.drawImage(image,0,0, this.getWidth(), this.getHeight(),this); super.paintComponents(g); } public boolean getIsStart() { return this.isStart; } public void setIsStart(boolean isStart) { this.isStart = isStart; } public boolean isExit() { return isExit; } public void setExit(boolean isExit) { this.isExit = isExit; } }
功效图