【课程设计】基于java的连连看小游戏,附源码+报告
1、项目介绍
窗口中只有一个“文件”菜单,其中包括了开始游戏、重来一次、炸弹以及退出。点击文件菜单中的开始游戏选项,系统开始计时(初始时间为600秒,即10分钟),图片的消除规则主要是通过不转弯或者转一次弯,或者转两次弯可以连接的两张相同的图片。当消除一对图片时,图片自动清除。该游戏还提供了一个作弊功能,通过“文件”菜单中的“炸弹”选项可以自动消除一对符合消除条件的图片,炸弹的初始值为3,也就是说只能使用三次系统提供的自动消除功能。如果时间用完了但是在游戏区域还有图片没有消除完,则游戏结束,系统会弹出一个对话框,提示玩家时间到了,点击确认按钮,会弹出一个对话框,询问玩家是否重玩一次,点击“是”,则重新开始游戏,点击“否”,则退出游戏,返回最原始的空白界面。
游戏图片在文件Resource文件夹中,游戏界面的初始化是从游戏的地图开始的,游戏地图的选取主要是通过随机产生的。根据游戏规则来开始游戏,符合规则的图片,将在地图中清除掉。游戏中碰到找不到符合规则的图片时,可以选择“文件”菜单中的炸弹按钮,它主要是通过系统自动查找到两张符合规则的图片,然后系统自动将这一对符合条件的图片清除掉。当所有图片清除成功的时候,系统会弹出一个对话框提示你“通关成功”,点击确认按钮可以返回到空白的界面。
2、演示视频
【课程设计】基于java的连连看小游戏,附源码+报告
3、项目截图
4、文档截图
5、代码示例
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import cn.elva.Settings;
import cn.elva.model.ArrayPoint;
import cn.elva.model.Map;
public class MapUI extends JPanel implements ActionListener
{
private static final long serialVersionUID = 1L;
//private int bombCount = Settings.BOMBCOUNT;
// 棋子数组,用按钮来表示
private ChessButton[] chesses = null;
// 数据模型
private Map map = new Map();
// 判断当前点击的棋子是否是第二次选中的
private boolean two = false;
// 第一次选中的棋子
private ArrayPoint priviousPoint;
// 第二次选中的棋子
private ArrayPoint currPoint;
/**
* 构造函数
*/
public MapUI()
{
super();
initialize();
}
/**
* 初始化函数
*
* @return void
*/
private void initialize()
{
initChesses();
GridLayout gridLayout = new GridLayout(Settings.ROWS + 2,
Settings.COLUMNS + 2);
gridLayout.setHgap(2);
gridLayout.setVgap(2);
this.setLayout(gridLayout);
this.setSize(300, 200);
// 放置按钮,按行
for (int row = 0; row
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!






