- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第18章 青蛙过河游戏 青蛙过河游戏是一个有趣的智力游戏。六只青蛙分成两队,左边三只,右边三只,都要过河,但是互不相让。中间只有一块空白石头。你需要用一种方法将左面的青蛙和右面的青蛙互换。 游戏说明: (1)用鼠标点青蛙头部,它会向前跳; (2)它最多只能跳过一个青蛙; (3)单击开始按钮,游戏复原。 青蛙过河游戏运行界面如图18-1所示 游戏运行界面 18.2 设计思想 使用一个带背景(background.jpg)的面板作为游戏区域,其上显示青蛙方块对象。青蛙对象使用继承JButton类的frogCell按钮类实现。并且能响应鼠标事件。 创建一个继承JFrame类的主窗体类MainFrame,显示带背景(background.jpg)的面板。并加入“开始”按钮,可以将动物方块恢复到初始位置,重新开始游戏。 18.3 青蛙过河游戏设计的步骤 18.3.1 设计青蛙方块类(frogCell.java) 在项目中创建一个继承JButton类的的frogCell按钮类,用于表示青蛙。 导入包及相关类: import javax.swing.Icon; import javax.swing.JButton; frogCell按钮类构造方法设置青蛙方块的方向,其上图案,显示时的大小。并提供是否是空块,以及朝向是否向左判断方法。 18.3 青蛙过河游戏设计的步骤 public class frogCell extends JButton { public static final int IMAGEWIDTH = 100;// 方块宽度 private boolean blank=false; //空块标记 private boolean left=true; //朝向,true向左,false向右 public frogCell(Icon icon, boolean left) { this.setSize(IMAGEWIDTH, IMAGEWIDTH);// 方块的大小 this.setIcon(icon);// 方块的图标(图案) this.left=left; // 方块中动物朝向 } public boolean isBlank() { if(blank) return true; else return false; } public boolean isLeft() {//此块动物是否向左 if(left) return true; else return false; } public void setLeft(boolean b) {//设置此块动物朝向(向左或向右) left= b; } public void setBlank(boolean b) {//设置此块有无动物图案 blank= b; } } 18.3 青蛙过河游戏设计的步骤 18.3.2 设计游戏面板类(frogPanel.java) 游戏面板类实现在面板上显示河流图片的背景,并在其上加载n+1动物方块,默认为6个(n=6)青蛙方块对象及一个空白的方块对象。同时实现鼠标侦听接口来响应鼠标事件。 init(int n) 加载n+1动物方块,默认为6个(n=6)青蛙方块对象及一个空白的方块对象。并设置这n+1动物方块的图片、朝向、是否空白等属性。最后向面板中添加所有动物方块(含空白方块),对所有方块添加鼠标监听。 青蛙过河游戏关键是单击事件处理。通过e.getSource()获取触发事件的对象,找到相应的动物方块。如果被单击的是空块,则无需处理。 如果cells[i]是向左的青蛙方块,则需判断左侧相邻的方块cells[i - 1]是否为空,为空则相邻的cells[i] 和cells[i - 1]这两个方块交换图案,并修改它们方块的朝向等属性。假如判断左侧相邻的方块cells[i - 1]不为空则需判断左侧的方块cells[i - 2]为空,说明是跳跃则cells[i] 和cells[i - 2] 这两个方块交换图案,并修改它们方块的朝向等属性。 如果cells[i]是向右的青蛙方块,处理过程类似cells[i]是向左的青蛙方块。 每次移动成功均要判断游戏是否结束。 18.3 青蛙过河游戏设计的步骤 18.3.3 设计主窗体类(frogFrame.java) 在项目中创建一个
您可能关注的文档
- 新Java Web程序设计教程 教学课件 范立锋 林果园 第13章 Spring与Java EE持久化数据访问.ppt
- 新Java Web应用技术与案例教程 教学课件 杨树林 胡洁萍 第三章 设计模式与分层架构.ppt
- 新Java 程序设计 教学课件 朱喜福 林建民 唐永 第01章.ppt
- 新Java 程序设计项目教程(教育部高职高专计算机教指委规划教材) 教学课件 张兴科 季昌武 项目五.ppt
- 新JavaScript程序设计基础教程 第2版 普通高等教育“十一五”国家级规划教材 教学课件 阮文江 第七章 对象编程1.ppt
- 新JavaScript程序设计基础教程 教学课件 曾海 第9章 CSS+DIV技术.ppt
- 新JavaScript脚本程序设计 教学课件 吴以欣 陈小宁 第3章 JavaScript常用内置对象.ppt
- 新Java编程与应用教程 教学课件 张莉 java_03.ppt
- 新Java编程与应用教程 教学课件 张莉 java_11.ppt
- 新Java程序设计 第二版 普通高等教育“十一五”国家级规划教材 教学课件 朱喜福2 1_ 第7章 Java的图形与用户界面.ppt
文档评论(0)