软件工程毕业论文-超级玛丽小游戏设计.doc

上传人:文初 文档编号:2096401 上传时间:2019-04-23 格式:DOC 页数:43 大小:2.42MB
下载 相关 举报
软件工程毕业论文-超级玛丽小游戏设计.doc_第1页
第1页 / 共43页
软件工程毕业论文-超级玛丽小游戏设计.doc_第2页
第2页 / 共43页
软件工程毕业论文-超级玛丽小游戏设计.doc_第3页
第3页 / 共43页
软件工程毕业论文-超级玛丽小游戏设计.doc_第4页
第4页 / 共43页
软件工程毕业论文-超级玛丽小游戏设计.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、本科毕业论文(20 届)超级玛丽小游戏设计所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要超级玛丽全名超级马里奥兄弟 ,是任天堂公司出品的著名横版过关游戏,最早在红白机上推出,有多款后续作品,迄今多个版本合共销量已突破 4000 万套。其中的主角马里奥、路易、桃子公主、蘑菇王子等等已成为任天堂的招牌人物。该课题主要是模仿经典的超级玛丽完成相应的游戏功能。本游戏以 java 为主要技术核心,通过各种核心类实现了游戏中的主要人物和角色,并通过各类函数实现了地图的绘制、碰撞检测、键控、滚屏等核心功能,并对游戏进行了一系列优化,例如产生新对象,收集垃圾,对时间、空间的权衡,实现了电脑版的

2、超级玛丽。关键字: 超级玛丽;Java;碰撞检测;滚屏Abstract“Super Marie“ full name “super Mario Bros.“ version of the cross, is a famous Nintendo Co produced the pass of the game, the first introduced in red and white machine, there are a variety of subsequent works, so multiple versions of total sales have exceeded 400000

3、00 sets. One of the main characters Mario, Louis, Princess Peach, mushroom Prince has become Nintendo sign characters. The main issue is to imitate the classic “super Marie“ to complete the corresponding game function. This game is the main core technology in Java, through a variety of core class im

4、plements the main characters and the characters in the game, and implements map rendering, collision detection, key control, scrolling and other core functions through various kinds of function, and the Games were a series of optimization, such as creating a new object, garbage collection, to balanc

5、e time, space, achieve 1 computer version of super Marie.Key words: Super Marie ,Java, Collision detection ,Roller screen目录1. 绪论 .11.1 java 介绍 .11.2 超级玛丽游戏的历史 .12. 基本概要 .22.1 游戏应用环境的构建 .22.1.1 游戏需要的硬件环境 .22.1.2 游戏需要的软件环境 .22.2 操作 .22.3 游戏界面 .23. 系统分析 .43.1 本程序需要解决的主要技术问题 .43.2 游戏的总体构架 .43.3 程序的类结构以及

6、流程图 .53.3.1 类结构 .53.3.2 流程图 .64. 详细设计及实现 .74.1 地图的实现 .74.1.1 地图的结构 .74.1.2 约定规则 .74.1.3 地图的产生 .84.2 滚屏的实现 .94.2.1 原理 .94.2.2 地图内部对象的移动 .94.2.3 小结 .94.3 地图切换的实现 .94.4 碰撞检测 .104.4.1 原理 .104.4.2 碰撞检测在游戏中的应用 .104.5 玛丽以及键控处理的实现 .104.5.1 Mario 类的实现 .114.5.2 键控处理 .124.6 砖头的实现 .124.6.1 分类 .124.6.2 结构 .134.7

7、 敌人的实现 .134.7.1 分类 .134.7.2 结构 .144.8 重力模拟 .155. 游戏的优化及注意点 .165.1 游戏中屏幕绘制技术的优化 .165.2 游戏中新对象的产生和垃圾收集 .165.3 游戏对系统资源占用的优化 .176. 总结 .18参考文献 .20致谢 .21附录 .2211. 绪论1.1 java 介绍Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即 JavaEE, JavaME, JavaSE)的总称。 Java 自面世后

8、就非常流行,发展迅速,对 C+语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。Java 平台是基于 Java 语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的.NET 平台以及模仿 Java 的 C#语言。Java

9、 是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。1.2 超级玛丽游戏的历史1985 年 9 月,让全球无数玩家深深着迷,同时也开启了电玩业界崭新时代的动作游戏超级玛丽兄弟( Super Mario Bros.) 在日本当红的电视游乐器“Family Computer(FC ,俗称红白机) ”上 闪耀登场,至今已 25 个年头。马里奥的出道可以追溯到 1981 年的街机游戏大金刚 ,那时还没有马里奥这个名字,只是单纯地将他设定为一个意大利人角色。当时对马里奥有 “Mr.电子游戏” 、 “跳跃人”等非正式的称呼。关于正式命名还有一段典故。当游戏大金刚被拿到美国任天堂分部的时

10、候,公司员工发现在有一个在仓库中工作的工人 Mario,相貌和动作酷似游戏中的“跳跃人” ,于是“马里奥”也就成了这个明星角色的正式名字。1953 年有一部法国电影恐怖的报酬 ,主人公名叫马里奥,搭档名叫路易基。帽子加背带工作服、大鼻子和胡子等特征,离英雄的形象相差甚远。再加上少许肥胖的身材,稍不留神可能就会把我们的英雄马里奥当成在便利店打工的中年大叔。但是形象上所带来的个性和亲切感,却在玩家的心中根深蒂固。马里奥的诞生之父宫本茂的设计理念就是“像记号一般让人一目了然的外貌,容易表现动作的配色” 。当时限于硬件的机能,无法表现精密的画面。为了清楚表现人物的动作,就把马里奥的服装设计成了背带工作

11、服,这样可以很好地表现出手臂的动作。关于脸部的设计,当时的考虑是,就算设计得很仔细,在电视上也无法表现出来。有特点、容易辨认,才是设计的重点。所以就有了大鼻子、留胡子、戴帽子的设计。22. 基本概要2.1 游戏应用环境的构建2.1.1 游戏需要的硬件环境普通 PCCPU :1GHz 及以上内存 : 256MB 及以上分辨率 :推荐 1024*768 像素2.1.2 游戏需要的软件环境操作系统 :Windows xp/7开发环境 :eclipse开发工具包 :JDK2.2 操作本游戏为全键盘操作。进入主界面后,按 P 键可以选择关卡,Enter 键进入游戏。A键和 D 键分别控制玛丽左右移动。J

12、 键为加速键。K 键控制玛丽跳跃。2.3 游戏界面进入游戏后,按 P 键选择关卡,按 Enter 键开始游戏。游戏开始界面如图(图 2-1)所示:图 2-1 开始界面3游戏进行中的画面如图(图 2-2、图 2-3)所示:图(2-2 )为游戏刚开始的画面:图(2-3 )为第二关刚开始的画面:图 2-2 游戏画面-1图 2-3 游戏画面-243. 系统分析3.1 本程序需要解决的主要技术问题1.如何实现地图:如何实现地图的绘制,如何实现滚屏(即当玛丽移动时,地图同时向后移动) 。2.地图上建筑物的实现。3.碰撞检测。4.玛丽的实现与控制。3.2 游戏的总体构架根据以上分析,我们把整个游戏分为四个模

13、块:1.地图模块:主要为一个 Map 类,此类包含了地图的所有信息,包括地图背景,建筑物,敌人等。建筑物分为两类:一类是不能产生变化的普通建筑物,另一类是可以被玛丽顶的砖头,可以产生金币、蘑菇或花朵的砖头。2.玛丽与主线程模块:Mario 为主角玛丽的类,在此类中定义了玛丽的各种属性和动作,并加入了键盘控制。Check 类为游戏主线程类,一些主要的功能,包括玛丽动作的实现,与建筑物和敌人的碰撞检测等都在此类中实现。3.绘制模块:MyJPanel 类。游戏中的所有事物,包括主人公玛丽,建筑物,敌人等等,都通过调用其本身的 draw()方法在此类中画出。4.垃圾回收模块:Rubbish 类。此类为

14、一个线程类,游戏启动时随主线程 Check 的启动而启动,实时检测游戏中产生的垃圾并回收,减少对系统资源的占用,优化游戏的运行。系统结构图如下图(图 3-1)所示:超级玛丽地图模块 玛丽与主线程模块绘制模块 垃圾回收模块图 3-1 系统结构53.3 程序的类结构以及流程图3.3.1 类结构如上图(图 3-2)所示,本游戏的主要类结构为: Mario 类。本类为主角玛丽的实现类,玛丽的动作与控制,以及绘制等方法都在本类中定义。 Check 类。本类为主要线程类,玛丽的动作,与建筑物、砖头以及敌人的碰撞检测,发子弹,地图的滚屏等等都在本线程类中实现。 Map 类。本类为地图类。地图上所有的对象,包括建筑物,砖头,敌人等都为此类的属性。 Creature 类。本类为所有敌人,蘑菇,花朵和金币的父类,本类为线程类,在其具体的子类中定义了相应动作。 Brick 类。本类为所有砖头类的父类,为线程类。在其具体的子类中定义了相应的动作。 CrashCheck 类。本类定义了碰撞检测的方法。图 3-2 类结构

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。