java做的扫雷小游戏

项目背景

扫雷是一款大众类的益智小游戏。根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。这款游戏有着很长的历史,从扫雷被开发出来到现在进行了无数次的优化,这款游戏通过简单的玩法,加上一个好看的游戏界面,每一处的细节都体现了扫雷的魅力。

功能分析

完成难度选择,雷随机生成,数字生成,左右键翻开 等功能实现

游戏四种状态:难度选择、游戏状态、游戏胜利、游戏失败

游戏难度:初级、中级、高级(不同难度对应不同的雷区大小和雷数量)

游戏核心:二维数组 的相关操作

其他:窗口绘制、界面规划、操作计数、重新开始。

主类:AppWindows类

AppWindow类负责创建游戏的主窗口,该类含有main方法,程序从该类开始执行。

用户操作设计(data包)

包括Block类:

定义

String name; //名字,比如"雷"或数字

intaroundMineNumber; //如果不是类,此数据是周围雷的数目

ImageIcon mineIcon; //雷的图标

publicboolean isMine=false; //是否是雷

booleanisMark=false; //是否被标记

booleanisOpen=false; //是否被挖开

ViewForBlock blockView; //方块的视图

LayMines类:通过layMinesForBlock方法进行布雷设置,在雷区布置mineCount个雷,先都设置是无雷,然后开始布雷,list返回节点的个数,list删除索引值为randomIndex的节点,检查布雷情况,标记每个方块周围的雷的数目,以及设置该方块周围的雷数目。

PeopleScoutMine类:

定义

publicBlock [][] block; //雷区的全部方块

Stack<Block> notMineBlock; //存放一个方块周围区域内不是雷的方块

int m,n ; //方块的索引下标

int row,colum; //雷区的行和列

int mineCount; //雷的数目

通过调用递归方法show,实现将不是雷的方块压栈和将是雷的方块压栈。

RecordOrShowRecord类:

主要实现连接数据库。创建数据表,实现英雄榜相关数据的存储和读取显示。

游戏视图设计(view包)

BlockView类:

主要用来显示雷的相关视图和布局。

JLabel blockNameOrIcon; //用来显示Block对象的name、number和mineIcon属性

JButtonblockCover; //用来遮挡blockNameOrIcon.

CardLayout card; //卡片式布局

Blockblock ; //被提供视图的方块

MineArea类:

主要用于扫雷过程中的各种事件的判断和处理,以及与用户的交互,比如播放声音等,最后会判断用户是否扫雷成功,以及弹出录入到英雄榜对话框,用于保存用户的英雄榜数据。

PlayMusic类:播放音效调用;

Record类:记录成绩时调用;

ShowRecord类:显示英雄榜数据时调用;

关于测试:

这里我们创建test包,实现AppTest类来进行代码的测试。

小结:

本次项目设计是通过 Java语言编制一个扫雷游戏,Java语言是当今较为流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。这次设计,还有利于加深对 Java课程的进一步了解,也可以巩固所学 Java语言基本知识,增进 Java语言编辑基本功,拓宽常用类库的应用。采用面向对象思想的程序,锻炼了面向对象的设计能力,使我通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握 Java语言的编程思想及面向对象程序设计的方法。

相关截图如下:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强尼903

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值