MLDN魔乐科技JAVA兴趣课堂系列
文章类别:
- 24 9 月, 2022
- 0 条评论
你必须注册后才能投票!
快捷索引
1、 游戏
概述
在很多年以前,红白机FC的超级马里奥兄弟是当时的游戏中的颠峰之作,套用当时最流行的一句话就是操作感和平衡性几乎完美无暇。这里完成的 MLDN马里奥 参考的就是这款游戏的设定,对游戏的背景、人物、敌人等重新绘制,并加入了一些恶搞的元素。
2、 游戏操作
游戏通过键盘操作,键盘上的箭头
“ ” 和 “ ” 分别控制Mario的移动, 空格键控制Mario的跳跃,通过以上的简洁的操作完成整个游戏。
3、 游戏中的设定
开始游戏时,Mario会有3条生命,消灭敌人或顶一些物品可以得到分数,每到500分会增加一条生命,如果Mario被敌人杀死或是掉下悬崖,会失去一条生命,并从该版面重新开始游戏,如果Mario的生命数为0,则游戏结束,返回标题画面重新开始游戏。
游戏中有一个秘技,在游戏的开始画面通过键盘输入一些内容可以使Mario的生命数增加到30条。
4、 游戏中的物品概述
砖块: 被Mario顶到会消失,Mario可以获得10分的分数,其中有些砖块在Mario从上边经过的时候会消失。
水管: 在水管中一般会有食人花,如果Mario被花碰到会损失生命。
?: 被Mario顶到会变成无法破坏的铁块,同时Mario可以获得50分的分数。
铁块: 一般是从?变化过来的,不会被Mario破坏
透明?:在游戏中,某些地方会有隐藏的?,o顶到会变成无法破坏的铁块,同时Mario可以获得50分的分数。
5、 游戏中的敌人概述
三角(蘑菇): 会缓慢的左右移动,可以被Mario踩死,每消灭一个Mario可以获得50分的分数。
乌龟: 比三角的移动速度稍快,可以被Mario踩死,每消灭一个Mario可以获得100分的分数。
食人花: 在水管中出现,无法被Mario消灭。
代码概述
1、 代码通过面向对象的设计思路,将系统分为Mario,物品,敌人,背景,窗体显示等多个Java类,共1600多行代码,运用了Java的Swing、IO操作、线程、类集等技术,并完全按照Java编码规范进行命名和编写。
2、 代码截图
一、 开发流程
1、 首先由java代码编写人员设计并提出编写方案,依据具体设计向图片美工提出所需要的图片格式、类型、数量、大小等要求
2、 美工依照提出的设计绘制并编辑图片,同时程序员进行各个类的功能设计,搭建工程总体框架。
3、 美工将图片完成后,程序员通过IO操作将图片导入到程序中完成游戏界面。
4、 程序员分别完成Mario的控制,敌人、Mario和物品的显示。
5、 程序员完成Mario与敌人及物品的碰撞的判断。
6、 美工提供游戏的背景音乐,程序员将音乐导入到程序中
7、 对完成的游戏进行测试并修改bug
8、 对游戏进行优化,提高性能。
课程大纲 见下表
学习本视频之前,需要先掌握JAVA SE的基本语法,简单IO操作,JAVA面向对象设计,多维数组的使用,以及JAVA的线程编程部分。
第一章、概述与演示
01_游戏演示以及知识准备.rar
第二章、程序分析与类设计
02_游戏中各个类的关系设计.rar
第三章、开发窗体类与静态类
1. 建立项目,创建窗体类,加入键盘监听 -03_第一部分_开发窗体类与静态类
2. 创建静态属性类,将所有图片导入到程序中-03_第二部分_开发窗体类与静态类.rar
第四章、开发游戏场景类
1. 设计定义游戏场景类的方法和属性
第五章、开发场景中的物体
1. 将场景中的物体分类,并定义属性
2. 设计第一个场景,并将场景中的物体保存到该场景的对象中,并完成将场景中物体显示的功能
第六章、开发Mario类
1. 设计定义Mario类中的属性,并完成将Mario显示在窗体中的功能
2. 完成Mario的左右移动功能,并通过切换Mario的显示图片完成移动状态的显示
3. 完成对Mario是否处于某个物体上的判断(例如:地面),并完成Mario的跳跃功能
4. 完成Mario接触不同物体时所做的不同的反应
5. 将以上功能整合,并完成当Mario移动到屏幕最右端时进行场景切换的功能
第七章、开发敌人类
1. 设计敌人的种类,并定义属性,对于不同的敌人,定义其移动方式和速度,并定义不同的构造方法
2. 完成敌人的移动功能,完成特定的敌人与物体接触时的动作及其是否处于物体上的判断
3. 完成敌人与Mario的互动判断
a) 对于可以消灭的敌人,判断Mario与敌人发生接触后所出现的结果
对于不可以消灭的敌人,如果接触,需要对Mario的死亡进行处理
4. 特殊操作:完成隐形砖块的处理
第八章、游戏的开始与结束
1. 设置游戏开始画面,并初始化游戏基本数据(分数,生命数等),并判断玩家是否输入开始游戏的指令,如果开始,初始化游戏环境(切换场景,设置Mario初始位置等)
2. 当Mario死亡时,对Mario的剩余生命数进行判断处理,并初始化场景环境(有生命)或返回游戏开始画面(无生命)
3. 完成游戏结束场景,并判断结束条件,在当达到游戏结束条件时,将所有操作屏蔽,并自动完成Mario的剩余操作(移动到结束地点,弹出结束的提示等)
会员福利
文章类别:
本文链接: http://www.books51.com/31449.html
【点击下方链接,复制 & 分享文章网址】
MLDN魔乐科技JAVA兴趣课堂系列 → http://www.books51.com/31449.html |
上一篇: 传智播客张孝祥09年Struts视频教程!(完整)
你必须注册后才能投票!
最新评论