程序员大神教你用Java开发超级马里奥,超简单让同行甘拜下风!

提及Java,很多人都会问Java开发做过哪些游戏?。?趺炊济惶?倒?爻?堵昀鋈斯ぶ悄?,那么今天小编就为大家分享下,它都开发过哪些经典游戏吧!Java不仅开发过电脑端的游戏,手游也有开发过,经典的游戏有很多 , 比如《我的世界》、《吃豆》等等,今天小编想为大家分享一个用Java开发的经典游戏《超级马里奥》 。
《超级马里奥》任天堂公司开发的著名横版过关游戏,是电子游戏历史上销量最大的系列游戏之一 , 早在任天堂的红白机时代就名声在外了,这个游戏几乎移植到了所有的任天堂游戏机,也包括电脑和手机 。
小编整理了一份java学习资料,私信回复【01】 , 获取源码 。
首先小编来介绍一下游戏的基本功能
1、人物向左向右行走(键盘监听)
2、人物跳跃
3、人物发射子弹
4、人物检测和障碍物之间的碰撞
5、背景图片的移动
其次看看游戏的运行界面
三、游戏大致实现思路:
1.窗体
2.自己角色的添加
3.背景图片的添加
4.背景图片的移动
5.人物的移动和跳跃
6.砖头、水管等等障碍物的添加
7.任务和障碍物的碰撞
难点分析:
1.人物的多键控制
1)给人物设定方向变量:向左、向右、向上、向下
2)通过键盘监听来修改方向的变量值
按下某个键的时候,我们把相应方向改为true,释放的时候改false
2.地图配置
自定义文件读取方式实现:文件流的使用和字符串类的方法调用
3.碰撞检测
封装一个类的对象
4.子弹添加
1)先定义一个容器,这个用于封装所有的子弹对象
2)按下某个键的时候,创建一个子弹对象(以角色的坐标为基准初始化)
3)把子弹对象添加到容器当中
4)在paint方法中,遍历容器,取出子弹对象并进行绘制
5)检测子弹如果超出了窗体边界,则需要把当前子弹从容器当中移除掉
【程序员大神教你用Java开发超级马里奥,超简单让同行甘拜下风!】四、程序源代码:
代码结构图:分了三个包、敌人类包、游戏界面类包、游戏地图配置包
五、项目总结:
看似是个小项目 , 其实里面有很多功能也是需要去认真思考的,开发游戏首先不要觉得他有多难,我们应该先构建一个思路 。
每款游戏都有它特定的地图,地图都很炫酷,首先通过文件输入流将文件数据读入 , 将字符转换为数字,并存储在二维数组中,后面,通过遍历二维数组的不同位置的值,在相应的格子填充相应的障碍物;地图就这样配置好了;当游戏人物在窗体走的时候 , 觉得一直是人在走,其实 , 人物走到中间或者走到某一位置的时候,人物已经是在原地踏步了 , 取而代之的是背后那张长度很长的背景的图片在移动,任务的左右移动相对而言比较简答实现 , 跳跃功能就不是那么简单了,需要永达线程 , 跟后面障碍物碰撞检测又有关系,当没有碰到的时候 , 人物要往下掉,一不注意就会出现各种bug,比如,可以一直跳 , 在跳的同时还能再跳,还有就是下降可能不会落地面的同一高度,可能会高于地面的高度,可能会低于地面的高度;障碍物的添加 , 我们是通过配置地图的方式,配置地图有时通过读入文件的操作,大致的原理是将后面的那张的背景图片划分成很多的小格子超级玛丽人工智能,将这些小格子用代码转换为二位数组 , 二维数组可以存入不同数字,代表不同的障碍物,通过操作文件就可以轻易配置地图;
本文到此结束,希望对大家有所帮助 。