java實現(xiàn)潛艇大戰(zhàn)游戲源碼
更新時間:2021年06月01日 14:23:57 作者:遇見cy
潛艇大戰(zhàn)游戲相信大家都玩過,是一款非常有趣的小游戲,那么基于代碼是如何實現(xiàn)的呢?今天小編給大家?guī)硪黄坛處椭蠹覍W習java實現(xiàn)潛艇大戰(zhàn)游戲,感謝的朋友一起看看吧
代碼如下
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;
}
}
效果圖


以上就是java實現(xiàn)潛艇大戰(zhàn)游戲源碼的詳細內(nèi)容,更多關(guān)于java潛艇大戰(zhàn)游戲的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot整合EasyExcel實現(xiàn)大規(guī)模數(shù)據(jù)的并行導出與壓縮下載
在 Spring Boot 應(yīng)用中,整合 EasyExcel 實現(xiàn)并行導出數(shù)據(jù)并進行 Zip 壓縮下載可以極大地提高數(shù)據(jù)處理效率和用戶體驗,文中通過代碼示例介紹的非常詳細,具有一定的參考價值,需要的朋友可以參考下2024-10-10
Springcloud Bus消息總線原理是實現(xiàn)詳解
Spring Cloud Bus 使用輕量級的消息代理來連接微服務(wù)架構(gòu)中的各個服務(wù),可以將其用于廣播狀態(tài)更改(例如配置中心配置更改)或其他管理指令,本文將對其用法進行詳細介紹
2022-09-09
SpringBoot全局異常與數(shù)據(jù)校驗的方法
這篇文章主要介紹了SpringBoot全局異常與數(shù)據(jù)校驗的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
2018-11-11 
