使用java程序开发一款扫雷游戏
游戏项目规划:
确定游戏中方块格子的个数确定游戏中地雷的个数(初始10个),完成布雷计算每个方块周围的雷数,在方块周围本身没有地雷的情况下,统计周围地雷的个数若周围没有地雷则翻开周围的空白方格,直到周围有附近地雷的格子设计一个检测是否挖完所有的雷的方法设定左键点击为翻开设定右键点开为标记整合并调试修改各队员分段编写的代码,游戏已实现,已经修补上周不能右键标记部分。
import java.awt.*;import java.awt.event.*;import javax.swing.*;
public class frame1 extends JFrame { JTextField text; JLabel nowBomb, setBomb; int BombNum, BlockNum; // 当前雷数,当前方块数 int rightBomb, restBomb, restBlock; // 找到的地雷数,剩余雷数,剩余方块数
JButton start = new JButton(" 开始 "); JPanel MenuPanel = new JPanel(); JPanel bombPanel = new JPanel(); Bomb[][] bombButton;
JPanel c; BorderLayout borderLayout1 = new BorderLayout(); GridLayout gridLayout1 = new GridLayout(); public frame1() { try { setDefaultCloseOperation(EXIT_ON_CLOSE); jbInit(); } catch (Exception exception) { exception.printStackTrace(); } }
private void jbInit() throws Exception { c = (JPanel) getContentPane(); setTitle("扫雷"); c.setBackground(Color.WHITE); MenuPanel.setBackground(Color.GRAY); c.setLayout(borderLayout1); setSize(new Dimension(700, 700)); setResizable(false);
BlockNum = 144; BombNum = 10; text = new JTextField("10 ", 3); nowBomb = new JLabel("当前雷数" + ":" + BombNum); setBomb = new JLabel("设置地雷数");
MenuPanel.add(setBomb); MenuPanel.add(text); MenuPanel.add(start); MenuPanel.add(nowBomb); c.add(MenuPanel, java.awt.BorderLayout.SOUTH);
bombPanel.setLayout(gridLayout1); gridLayout1.setColumns( (int) Math.sqrt(BlockNum)); gridLayout1.setRows( (int) Math.sqrt(BlockNum)); bombButton = new Bomb[ (int) Math.sqrt(BlockNum)][ (int) Math.sqrt(BlockNum)]; for (int i = 0; i < (int) Math.sqrt(BlockNum); i++) { for (int j = 0; j < (int) Math.sqrt(BlockNum); j++) { bombButton[i][j] = new Bomb(i, j); //bombButton[i][j].setSize(10, 10); bombButton[i][j].setFont(new Font("", Font.PLAIN, 14));//设置字体大小 bombButton[i][j].setForeground(Color.white);
bombPanel.add(bombButton[i][j]); } } c.add(bombPanel, java.awt.BorderLayout.CENTER);
}}
2014336张子扬
整理游戏思路,搜集资料,编写自己负责部分的代码并进行分析。
20145237方浩南
对项目现状提出建议和意见,编写自己负责部分的代码并分析。
20145321曾子誉
编写自己负责部分的代码,汇总整理各代码段并负责更新本周的博客。
20145225唐振远
编写自己负责部分的代码并分析,对目前整理后的总代码修正和改进。
转载于:https://www.cnblogs.com/heywego/p/5579223.html
相关资源:JAVA上百实例源码以及开源项目