超级玛丽游戏设计(java)

超级玛丽游戏设计(java) Java程序设计 实 验 报 告 专 业: 嵌入式工程技术 年 级: 2012 姓 名: 黄泽康 学 号: 20125003 指导教师: 贺伟 阿坝师专物理与电子科学系 Java编程超级玛丽的游戏设计 题目简介: 本游戏是利用java语言在JCreator Pro和jdk的环境下,经过两个星期的编写与调试完成的一个超级玛丽游戏。本游戏代码长度约3000行,编写过程中历经两个版本(V1.0 版大约2000行代码、V2.0 版大约3000行代码)。V1.0版本用时一个星期,V2.0版本用时一个星期,此游戏操作简单、界面美观、功能基本较齐全。整个游戏分功能类模块,约实现了超级玛丽游戏经典版的所有功能的 80%。 一、 实验目的: 1、熟悉类和了解如何创建类,对创建的类进行测试。让我们更加了解学习面向对象设计的目的和作用; 2、了解java面向对象编程设计与C语言、C++编程的区别; 3、学会使用各种程序命令、了解各种包的作用和功能,从而设计图形界面等; 4、掌握java面向对象中的各种使用语句; 5、学会设计和编写简单的程序或游戏。 二、实验原理、要求及主要设计思想: 原理:利用建立的各种类和包的调用来实现各自的作用,并且实现游戏编写的效果。 设计要求: 实现一个简单的超级玛丽游戏程序的基本要求: ① 在二维平面里画出地图(道具、敌人等)、玛丽,根据超级玛丽的动作和高度在确定地图的高度,并且还要对人的动作进行设计,; ② 玩家能通过控制按键A左走、D右走、L大跳、J小跳、K发子弹等来控制玛丽的动作; ③ 在游戏中添加声音效果,如:游戏进行的声音、玛丽吃金币的声音、玛丽撞墙的声音、玛丽发子弹的声音、玛丽死亡的提示音等等; ④ 玛丽游戏界面上有文件(退出游戏、打开地图)、游戏(暂停、开始、新游戏)、工具(自定义地图)、帮助(关于、使用说明)的菜单,并且在每个子菜单上添加特定的标志; 设计思路: 1、 首先设计游戏主界面、游戏界面上的控制菜单, 控制菜单包括:文件、游戏、工具、游戏帮助。 1 文件、游戏等菜单又包含了以下子菜单: 文件:单击打开地图,就可以选择已创建好的地图关卡;单击退出游戏,就直接 退出整个游戏主界面。 游戏:单击新游戏,游戏就会从第一关重新开始;单击开始游戏,游戏就开始进行,玩家可以通过键盘的按键来对玛丽的动作进行控制;单击暂停游戏,游戏就暂停运行。 工具:单击工具里的自定义地图,就会弹出自定义地图框,可以在框内进行新地图的创建。 游戏帮助:单击使用说明,里面有玩此游戏的所有操作说明;单击关于,就会有制作人和版本说明。 注意:在对游戏设计的每一步,我们都需要进行功能的测试,这样才能保证编程游戏的正常进行。 2、 游戏控制界面图: 2 二、 类模块的设计: 此游戏是用对创建的类中的静态方法的调用来实现的,而且类与类之间是相互嵌套的; 通过对游戏的功能要求分析,将超级玛丽的功能划分成了十五个类模块: zkml类、chuangkou类、gui类、game类、wenjian类、zi_map类、ml_map类、Photos类、Wav类、ma_li类、Enemy类、Skill类、Bullet类、move_wall类:Record类。 下面是对每个类的简单介绍: zkml类: 在zkml类里面包含了main方法,由于程序的运行是从主方法开始,所以zkml类是游戏的主类;主要代码: public class zkml { public static void main(String[] args) { chuangkou aa1=new chuangkou(); new photos(aa1);//装载图片 new game(aa1).start();//创建游戏时钟线程 new ma_li().start();//创建玛丽运动线程 new enemy().start();//创建敌人运动线程 3 } } new skill().start();//创建技能运动线程 new bullet().start();//创建子弹运动线程 new record().start();//创建动态显示计分类 new move_wall().start();//创建移动的墙类 chuangkou类和gui类: 在Chuangkou类里面创建游戏主界面;主要代码如下: class chuangkou extends JFrame implements ActionListener{·······}//主界面 在gui类是游戏运行窗口类;主要代码: class gui extends JPanel implements KeyListener,Runnable{ ……………………………………… public void paint(Graphics g) {·······}// 游戏框 public void keyReleased(KeyEvent e) {·······}// 释放某个键时调用此方法 public void keyPressed(KeyEvent e) {·······}//按下某个键时调用此方法 public void keyTyped(KeyEvent e) {·······}; public void run(){·······}//按键处理线程(实现多按键处理) } game类: 是游戏数据类(包含游戏中的所有重要数据);主要代码: class game extends Thread{ public static chuangkou aa1; public static int money,life,guan_qia,time; //life玛丽生命 public static boolean show,stealth;//show控制显示,stealth玛丽是否隐身 public static long score;//得分 public static boolean suspend=true,games=false;//suspend暂停游戏 games 是否游戏 public static int mk,l=0,lm=0;//控制变量 game(chuangkou aa1){ this.aa1=aa1; } public static void inints(){·······}//新游戏初始 public

Java游戏开发超级玛丽总结_超级玛丽游戏设计(java)相关推荐

  1. 游戏开发入门(八)游戏中的场景管理

    视频链接:游戏开发入门(八)游戏中的场景管理(5节课 时常:约2小时07分钟) 授课者通过2D围棋的例子,逐步拓展成3D的虚拟游戏世界.这个3D游戏世界基本上就可以涵盖市面上所有类型的游戏了,我们通过 ...

  2. 游戏开发入门(二)游戏开发概述

    这篇文章主要以问题的形式给大家解答下面几个问题: 1.游戏是如何开发出来的,开发流程大概是什么样子的? 2.游戏相关的职位都有哪些? 3.开发游戏需要哪些技术或能力? 4.程序员一般负责的内容有哪些? ...

  3. 视频教程-Layabox3D游戏开发入门-微信3D小游戏案例 -微信开发

    Layabox3D游戏开发入门-微信3D小游戏案例 有多年Unity程序开发经验,有策划和美术设计的经验.愿意在csdn这个平台和大家一起分享! 金龙 ¥29.00 立即订阅 扫码下载「CSDN程序员 ...

  4. 6、Cocos2dx 3.0游戏开发找小三之游戏的基本概念

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27689713 郝萌主友情提示: 人是习惯的产物,当你 ...

  5. 游戏开发心得——书籍篇——《游戏引擎框架》-导论

    游戏开发心得--书籍篇--<游戏引擎框架>-导论 FOR THE SIGMA FOR THE GTINDER FOR THE ROBOMASTER 简介: 学习<游戏引擎框架> ...

  6. 游戏开发入门(二)游戏中的设计模式

    视频链接:游戏开发入门(二)游戏中的设计模式(3节课 时常:约2小时40分钟) 该视频主要围绕游戏中常见的设计模式展开讲解并实践,需要大家多多实践与理解 笔记与总结(请先学习视频内容): 1.有必要深 ...

  7. html5游戏开发 网页版-捕鱼达人游戏源码下载

    html5游戏开发 网页版-捕鱼达人游戏源码下载 来玩一把! 转载于:https://www.cnblogs.com/jsfoot/p/3215371.html

  8. 游戏开发入门(五)游戏动画系统

    视频链接:游戏开发入门(五)游戏动画系统(8节课 时常:约2小时30分钟) PPT比视频要块一些 第二节与PPT对不上 视频中杂音太大,如果带耳机还听不清的话,建议直接看内容即可 笔记与总结(请先学习 ...

  9. 计算机论文 游戏,计算机游戏论文3000字_计算机游戏毕业论文范文模板.doc

    计算机游戏论文3000字_计算机游戏毕业论文范文模板 计算机游戏论文3000字(一):一些智力游戏问题的数学模型及其计算机求解论文 摘要:国内只有相关智力游戏问题的数学模型相关论文,数学模型作为当代社 ...

  10. 游戏开发技术系列丛书 献给游戏研发的专业人士

    游戏开发技术系列丛书 献给游戏研发的专业人士 谁教会了<魔兽世界>的关卡设计 ? <半条命>作者倾心写就.盛大公司专业团队翻译 暴雪总裁等业内专家极力推荐! 游戏关卡设计 作者 ...

最新文章

  1. Spring 实践 -IoC
  2. 线性代数同济第六版_线性代数考试内容与课后习题
  3. 深度学习 《BiRNN》
  4. 第 2 章 设计模式七大原则
  5. 演示:扩展ACL的配置与应用技巧
  6. 安徽省湖泊河流ArcGIS地形图shp图层文件下载
  7. 回文数c语言 字符串,力扣 009 回文数 C语言
  8. Learn Git Branching 学习笔记(Git远程仓库篇)
  9. 翼龙老域名扫描软件 V2.4版本
  10. 北京邦威思创科技有限公司 招聘要求
  11. k8s集群中部署kong网关与konga
  12. Faster RCNN layer.py
  13. 关于HTML在线编辑文本的编码与解码
  14. 斯密特:未来六个月Android全胜iOS
  15. android摄像头旋转花屏,Android OpenGL YUV 旋转花屏解决、Camera获取图像
  16. 著名童星刘佳琪深圳市中心举办个人Live音乐汇专辑发布会圆满成功
  17. Unity URP shader 出现 SRP Batcher 为 not compatible时 渲染性能会下降 应该怎么处理 ?
  18. LabVIEW项目中实时目标出现黄色感叹号
  19. 基于Stm32f103针对TM1640驱动数码管
  20. 基于单片机高精度PID模糊算法程控电源方案设计

热门文章

  1. SSM+基于微信小程序的航空售票管理系统 毕业设计-附源码191111
  2. Qt 中 Q_OBJECT 宏及 moc_*.cpp文件
  3. 豆瓣是用python开发的吗_Google、知乎、豆瓣、网易都在用Python Web开发!
  4. python画笔颜色_Python画图 plt.plot()函数细节颜色字符,风格字符,和标记字符
  5. python修改sheet名称_python excel练习:新建sheet、修改名称、设定颜色、打印sheet名称,复制,保存...
  6. linux下安装飞信机器人教程
  7. 深入了解现代 Web 浏览器(第 4 部分)【合成器线程详解】
  8. python英语单词 扇贝英语安卓下载_扇贝单词英语版app最新版
  9. 如何使用Blender制作360度全景图和全景视频?
  10. (SQI)Face Recognition under Varying Lighting Conditions Using Self Quotient Image