java连连看含代码.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java连连看含代码

JAVA连连看游戏 一、功能描述 通过JAVA编一个连连看程序,通过鼠标点击使相同两个图像消掉。程序实现以下几个功能: 1、判断鼠标点击的两张图片是否相同; 2、判断2张图片是否可以相连; 3、判断时间; 4、判断是否使用炸弹,炸弹剩余数目,自动生成路径消除两张相同图片; 5、判断剩余图片,是否胜利。 二、方案: 概要设计:程序分为6个部分: 第一:主窗口部分(MainFrame)定义了程序用函数,实现了程序菜单(initMenuBar)的使用。 第二:按键部分(ChessButton)定义按键的位置,代表的值。 第三:游戏部分(MapUI)判断点击的图片,判断两图片是否可连,是否相同。判断是否胜利。实现炸弹功能。 第四:数组(Settings)确定了游戏各种参数属性。 第五:取值部分(ArrayPoint)定义图片的值。 第六:算法部分(Map)通过算法确定两张图片是否连通。 详细设计:运行效果与程序发布:本程序含有6个JAVA源程序,一个图片文件夹。通过JCreator Pro运行及修改程序。把ChessButton.java,MainFrame.java和MapUI.java文件保存在同一文件夹(如:D:\lianliankan\)。把Settings.java放入一层文件加的\cn\elva文件夹下(如:D:\lianliankan\cn\elva)。把ArrayPoint.java和Map.java放入文件夹的\cn\elva\model文件夹中。在文件夹中建立一个叫Resource的文件夹存放图片。运行JCreator Pro编译JAVA程序,生成相应的字节码文件(.class)文件。然后,用java解释器运行主类:D:\lianliankan\java MainFrame。功能模块图如上。 程序通过对用户点击的图片进行判断,确定两张图片的路径,判断两张图片是否相同,是否可以相连,如果可以相连并且两张图片相同,那么消除两张图片,否则认为用户没点图片,重新选择。系统会在用户开始的时候进行计时,如果用户在限定时间内没有完成(还有图片枚消除),那么系统提示用户失败信息,反之(图片全部消除),提示用户胜利信息。在游戏过程中,用户可以使用炸弹,如果炸弹存在(炸弹数部为零)那么消除2块同样的图片,否则提示用户没有炸弹。 定义程序的必要变量的初值使每回开始新游戏,这些初值都会还原: 行数:public static final int ROWS = 8; 列数:public static final int COLUMNS=8; 图片后缀名:public static final String RELEX=.gif; 每局所花时间(秒):public static final int PERTIME = 600; 判断的时间间隔:public static final int PER = 1; 炸弹的使用次数:public static final int BOMBCOUNT = 3; 把每一个图片位置都定义为一个按钮,这样在鼠标点击的时候就能确定用户点击的是哪张图片。 public class ChessButton extends JButton { // 按钮所对应的数组中的值和位置,用ArrayPoint结构来表示 protected ArrayPoint point = null; /** * 构造函数,指定按钮所代表的值和位置 * @param row 所在行号 * @param col 所在列号 * @param value 代表的值 */ public ChessButton(int row, int col, int value) {this(new ArrayPoint(row, col, value));} /** * 构造函数 * @param point 值和位置的数据结构 */ public ChessButton(ArrayPoint point){this.point = point; String name =Resource/+point.getValue() + Settings.RELEX; URL url = ChessButton.class.getResource(name); // System.out.println(url); ImageIcon icon = new ImageIcon( url ); this.setIcon(icon); } /** * 构造函数,使用默认值 */ public ChessButton() {t

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档