《游戏学习》Java版仿windows扫雷小游戏源码
生活随笔
收集整理的這篇文章主要介紹了
《游戏学习》Java版仿windows扫雷小游戏源码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
項目代碼目錄結構
?
?啟動類 StartFrame? 代碼展示
import java.awt.BorderLayout; import java.awt.Font;import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.Timer; import javax.swing.UIManager;import com.sf.minesweeper.menu.MineMenu; import com.sf.minesweeper.panel.MineField; import com.sf.minesweeper.panel.MineState; import com.sf.minesweeper.timer.Timers; import com.sf.minesweeper.tools.Tools;public class StartFrame extends JFrame {/*** */private static final long serialVersionUID = -1585043387266273492L;/*** @param args*/private MineState mineState; // 記雷數private MineField mineField; // 布置labble和雷數private MineMenu mineMenu;private Timer timer;private Timers timers;/*** 游戲是否開始*/private boolean isStart;JLabel jLabel_start = new JLabel(); // 開始圖片public StartFrame() {//改變系統默認字體Font font = new Font("Dialog", Font.PLAIN, 12);java.util.Enumeration keys = UIManager.getDefaults().keys();while (keys.hasMoreElements()) {Object key = keys.nextElement();Object value = UIManager.get(key);if (value instanceof javax.swing.plaf.FontUIResource) {UIManager.put(key, font);}}this.setTitle("掃雷");this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setLocationRelativeTo(null);setIconImage(Tools.iicon); // 利用tools來做的作法this.setResizable(false); // 這樣讓窗口不會可放大// ..................狀態欄.....................mineState = new MineState(this);this.add(mineState, BorderLayout.NORTH);// ...................雷區......................mineField = new MineField(this);this.add(mineField, BorderLayout.CENTER);jLabel_start.setIcon(Tools.start);this.add(jLabel_start, BorderLayout.CENTER);// ....................菜單欄................mineMenu = new MineMenu(this);this.setJMenuBar(mineMenu);// .....................時間................Tools.time = 0;timers = new Timers(mineState);timer = new Timer(1000, timers);pack();this.setVisible(true);}// 重新布局public void restart() {this.remove(mineState);this.remove(mineField);this.remove(jLabel_start);// ..................狀態欄.....................mineState = new MineState(this);this.add(mineState, BorderLayout.NORTH);// ...................雷區......................mineField = new MineField(this);this.add(mineField, BorderLayout.CENTER);// .....................時間................Tools.time = 0;Timers timers = new Timers(mineState);timer = new Timer(1000, timers);pack();validate();//刷新窗體}public MineState getMineState() {return mineState;}public MineField getMineField() {return mineField;}public MineMenu getMineMenu() {return mineMenu;}public Timer getTimer() {return timer;}public Timers getTimers() {return timers;}public boolean isStart() {return isStart;}public void setStart(boolean isStart) {this.isStart = isStart;}public static void main(String[] args) {new StartFrame();}}游戲截圖
?
?
完整源碼下載地址
https://download.csdn.net/download/weixin_40986713/21735974?
總結
以上是生活随笔為你收集整理的《游戏学习》Java版仿windows扫雷小游戏源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android自定义控件之3D上下翻页效
- 下一篇: 为什么Service之间最好不要相互调用