电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

超级玛丽Java课程设计

67页
  • 卖家[上传人]:汽***
  • 文档编号:490212999
  • 上传时间:2022-10-11
  • 文档格式:DOC
  • 文档大小:1.64MB
  • / 67 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 面向对象程序设计课程设计报告题 目: 超级玛丽软件的设计与实现 院 (系): 信息科学与工程学院 专业班级: 计算机科学与技术1201班 学生姓名: 程伟 学 号: 20121183011 指导教师: 吴奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日华中科技大学武昌分校制 面向对象程序设计 课程设计任务书一、设计(调查报告/论文)题目超级玛丽软件的设计与实现二、设计(调查报告/论文)主要内容内容:开发超级玛丽能够在场景中完成各种动作,并且有场景的切换功能。设计一个Mario类、一个场景类、以及敌人类、障碍物类。实现有一定的挑战的休闲单机小游戏。 基本功能与要求:设计一个超级玛丽游戏实现以下功能:1、 点击“空格”可以使游戏人物进行跳跃。2、 点击方向键左右可以使游戏人物前进或者后退。3、 设计障碍物,增加游戏的难度。4、 设计敌人类,增加游戏难度。5、 设计跳跃踩死敌人或者跳跃越过障碍物,保证可以正常前进。6、 保证通过所有障碍后可以通关。三、原始资料1.面向对象程序设计课程设计指导书2. 耿祥义JAVA大学实用教程北京:清华大学出版社,2009四、要求的设计

      2、(调查/论文)成果1.课程设计报告2.课程设计软件五、进程安排布置任务,查找资料、需求分析1天总体设计1天详细设计1.5天编制源程序实现3.5天测试与修改1天撰写课设报告2天六、主要参考资料1 张广彬. Java课程设计案例精编(第二版).北京:清华大学出版社, 2011. 2 耿祥义. Java课程设计(第二版).北京:清华大学出版社, 2008.3 耿祥义JAVA大学实用教程北京:清华大学出版社,20094 邹林达陈国君 Java2程序设计基础北京:清华大学出版社,20105 邹林达Java2程序设计基础实验指导北京:清华大学,2010指导教师(签名): 20 年 月 日目录1需求与总体设计51.1需求分析51.2程序功能图51.3程序类图62详细设计72.1 MyFrame实现72.1.1窗体对象的序列图72.1.2 Myframe详细类图82.2 Mario实现82.2.1 Mario对象的序列图82.2.2 Mario类图92.3 Enemy类的实现102.4 Obstruction类的实现112.5 BackGround类实现113编码实现123.1 MyFrame类的详细

      3、代码123.2 BackGround类的详细代码133.3 Mario类的详细代码163.4 Enemy类的详细代码243.5 Obstruction类的详细代码314系统测试334.1 游戏开始界面的测试334.2 游戏运行的测试334.3 排除错误的处理36总 结37 1需求与总体设计1.1需求分析提供一个友好的用户交互界面,简单明了容易操作。并且游戏有一定的难度和娱乐性。开发一个Mario类。一个场景类,以及敌人类,障碍物类。让超级玛丽能够在场景中完成各种动作。并且有场景的切换等等功能。游戏中设计了一些很有意思的陷阱,玩家一步小心掉入陷阱,超级玛丽就会死亡。这样会给人意想不到的惊奇,达到娱乐大众,增加游戏难度的效果。游戏的设计匠心独具,并且都经过了各种测试,除了为玩家增加一些意想不到的游戏陷阱以外,还必须保证玩家能够通关。1.2程序功能图如图1所示:图11.3程序类图系统的整体类图的框架如图2所示。首先是窗体类。他需要调用到Mario和BackGround类中的方法。以便动态的显示Mario类和BackGround。而BackGround里面又包含了Enemy和Obstructi

      4、on。Enemy,Obstruction和Mario类又调用静态类StaticValue的方法,用以显示真实的图片。而StaticValue则是一个静态类,将存储在硬盘的图片资源加载进入内存以便其他模块调用。图22详细设计2.1 MyFrame实现2.1.1窗体对象的序列图窗体对象继承了JFrame类并且实现了Runnable接口。作为窗体对象,它首先显示窗体,绘制背景。然后启动线程。在run方法里面动态得绘制窗体中需要显示的Mario的图片,障碍物的图片,敌人的图片。该窗体的run方法是一个死循环,每次执行一个 循环调用sleep方法睡眠50毫秒。序列图如图3所示。图32.1.2 Myframe详细类图private Mario mario;/Mario对象private boolean isStart = false;/标识游戏是否已经开始this.paintAllEnemys(g2);/绘制所有的敌人this.paintAllObstruction(g2);/绘制所有障碍物2.2 Mario实现2.2.1 Mario对象的序列图因为需要有一个专门的线程来实时监测Mario的移动状

      5、况,和障碍物和敌人的碰撞情况。所以让Mario类继承了Runnable接口。Mario先启动线程。该线程的run方法也是一个死循环。首先根据Mario的状态changeMarioImage方法修改Mario的显示图片。再根据Mario的determinexy方法决定Mario的移动。然后通过deterMarioWithObstruction方法检测Mario和障碍物之间的碰撞,在根据marioTouchEnemys方法检测Mario和敌人之间的碰撞。然后调用sleep()方法让线程休息5毫秒。如此结束一个循环。序列图如图4所示。图42.2.2 Mario类图类图中:private int x;/Mario的x坐标private int y;/Mario的y坐标private int life;/Mario的生命BackGround bg = null;/Mario所在的背景private int uptime;/Mario的上升时间String status;/Mario的移动状态int score;/Mario的分数Thread t;/Mario的线程int xmove;/Mario

      6、的x移动距离int ymove;/Mario的y移动距离private boolean isClear = false;/标识用户是否通关。isClear为true时代表用户通关了2.3 Enemy类的实现private int x;/敌人的x坐标private int y;/敌人的y坐标private int startX;/敌人的初始x坐标private int startY;/敌人的初始y坐标private boolean startIsLeftOrUp;/敌人初始的移动方向private int startImageType;/初始的显示图片private int type;/敌人的类型1代表蘑菇,2代表食人花,3代表乌龟private BufferedImage bufferedImage;private BackGround bg;/障碍物所在的背景private int imageType;/移动的极限范围详细类图如下:2.4 Obstruction类的实现private int x;/障碍物的x坐标private int y;/障碍物的y坐标private Buffer

      7、edImage showImage = null;/障碍物的显示图片private int type;/障碍物的类型private int startType;/障碍物的初始类型private BackGround bg;/标识该障碍物在哪一个场景中详细类图如下:2.5 BackGround类实现private int sort;/背景的序列号private boolean flag;/标识是否是最后一张图片,flag为true时代表到了最后一张图片private boolean isOver = false;/标识游戏是否已经结束private boolean isDown = false;/标志是否降旗结束详细类图如下:3编码实现源代码import java.awt.image.BufferedImage;import java.util.ArrayList;import java.util.List;import java.awt.Graphics;import java.awt.Toolkit;import java.awt.event.KeyEvent;import java

      8、.awt.event.KeyListener;import java.util.Iterator;import javax.swing.JFrame;import javax.swing.JOptionPane;import java.io.File;import javax.imageio.ImageIO;public class MyFrame extends JFrame implements KeyListener,Runnablepublic static void main(String args)new MyFrame();private List allBg = new ArrayList();/当前背景private BackGround nowBg = null;private Mario mario;/Mario对象private boolean isStart = false;/标识游戏是否已经开始public void setNowBg(BackGround nowBg) this.nowBg = nowBg;private Thread t;/* */public MyFrame()this.setSize(900,600);this.setTitle(马里奥游戏);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);int width = Toolkit.getDefaultToolkit().getScreenSize().width;int height = Toolkit.getDefaultToolkit().getScreenSize().height;

      《超级玛丽Java课程设计》由会员汽***分享,可在线阅读,更多相关《超级玛丽Java课程设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.