您好,欢迎访问三七文档
《面向对象程序设计》课程设计报告题目:吃豆子游戏的设计与实现院(系):信息科学与工程学院专业班级:计算机科学与技术1201班学生姓名:程伟学号:20121183008指导教师:吴奕2014年12月29日至2015年1月9日华中科技大学武昌分校制面向对象程序设计课程设计任务书一、设计(调查报告/论文)题目吃豆子游戏的设计与实现二、设计(调查报告/论文)主要内容内容:玩家可以通过键盘或鼠标控制游戏区。游戏采取分数和血量制,当血量用尽时游戏结束,游戏以最终玩家获得的分数来判断玩家水平的高低。使用Eclipse和JDK1.6工具,操作系统为WINDOWS,采用面向对象方法完成,包括总体设计、详细设计、编码实现、测试。基本功能与要求:1按空格键,使游戏开始。2通过方向键控制吃豆者的运动方向,直到吃光所有的金豆子。3被敌人碰到按百分比掉血。4吃到大的金豆子后,敌人在一段时间内失去攻击能力,这个时候,吃豆者可以吃掉敌人。5敌人被吃掉之后被关进图中牢笼中,一段时间重生。6吃豆人吃到水果后回血,当血量降到百分之零以下游戏结束。三、原始资料1.《面向对象程序设计课程设计》指导书2.耿祥义.JAVA大学实用教程.北京:清华大学出版社,2009.四、要求的设计(调查/论文)成果1.课程设计报告2.课程设计软件五、进程安排布置任务,查找资料、需求分析1天总体设计1天详细设计1.5天编制源程序实现3.5天测试与修改1天撰写课设报告2天六、主要参考资料[1]张广彬.Java课程设计案例精编(第二版).北京:清华大学出版社,2011.[2]耿祥义.Java课程设计(第二版).北京:清华大学出版社,2008.[3]耿祥义.JAVA大学实用教程.北京:清华大学出版社,2009.[4]邹林达.陈国君Java2程序设计基础.北京:清华大学出版社,2010.[5]邹林达.Java2程序设计基础实验指导.北京:清华大学,2010.指导教师(签名):20年月日1目录1需求与总体设计...........................................................11.1需求分析...............................................................11.2总体设计..............................................................12详细设计................................................................42.1Enemy类...............................................................42.2Fruit类..............................................................52.3Gold类...............................................................62.4Packman类............................................................62.5Player类.............................................................72.6Ticker类.............................................................82.7Wall类...............................................................93编码实现...............................................................103.1Enemy类的详细代码....................................................103.2Fruit类的详细代码....................................................263.3Gold类的详细代码.....................................................313.4Packman类的详细代码..................................................363.5Player类的详细代码...................................................523.6Ticker类的详细代码...................................................593.7Wall类的详细代码.....................................................604系统测试...............................................................62总结...................................................................6611需求与总体设计1.1需求分析吃豆子游戏是一种古老而又有趣的游戏,游戏软件不计其数,网上就有好多关于实现的复杂算法和设计,其难度让一般初学者望而却步。开发的出来的吃豆子游戏是一种内容丰富,画面优美,益智类游的戏,并且不受网络的限制,让人们能够在任何时刻通过体验游戏,达到身心愉悦、放松心情。通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发吃豆子游戏,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对java基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。1.2总体设计1文件构成吃豆子游戏的程序由文件Wall.java、Gold.java、Player.java、Enemy.java、Ticker.java、和Packman.java六个文件组成。Wall.java包含名为Wall的public类,其主要功能为根据墙的位置,绘制其图形。并通过其中的方法。返回墙壁的位置等属性。Gold.java包含名为Gold的public类,其主要功能为根据豆子的位置,绘制其图形,包括体积大和体积小的两种类型。并通过其中的方法,返回豆子的位置等属性。Player.java包含名为Player的public类,其主要功能为初始化吃豆者的位置,张合角度以及前进速度。通过draw方法根据吃豆者在运动过程中的角度变化,以及移动后的位置坐标绘制吃豆者;通过move方法计算吃豆者的位置;通过ChangeDirection方法改变吃豆者的运动方向;通过stop方法令吃豆者停止运动;通过dead方法令游戏结束。Enemy.java包含名为Enemy的public类,其主要功能为根据位置,状态初始化敌人。通过move方法确定敌人的移动方式,包括正常状态和失去放抗能力两种情况;通过draw方法绘制敌人。Ticker.java包含名为Ticker的线程类,控制游戏的起始。Packman.java包含名为Packman的public类,其主要功能为初始化图形界面的布局,声音的播放,2确定游戏规则。Pac-Man.html这是引用Applet的HTML文件。2系统主要功能图3系统功能要求1按空格键,使游戏开始。2通过方向键控制吃豆者的运动方向,直到吃光所有的金豆子。3被敌人碰到按百分比掉血。4吃到大的金豆子后,敌人在一段时间内失去攻击能力,这个时候,吃豆者可以吃掉敌人。5敌人被吃掉之后被关进图中牢笼中,一段时间重生。6吃豆人吃到水果后回血,当血量降到百分之零以下游戏结束。4用例图35类图42详细设计2.1Enemy类1成员变量Al_time:intColour:intEnemy:Rectanglealarm:booleanalarmTime:intcanMoveUp:booleancantGoAnyWhere:booleandirection:intgameFlow:intghost:booleanghostMode:booleaninterval:intlefttime:intprisonTime:intspeed:intStop:booleanxPos:intxVPos:intyPos:intyVPos:int2方法Alarm(int):void//设置敌人是否处于反抗状态Ghost():void//幽灵draw(Graphics):void//绘制幽灵的颜色move(int,int,Wall[]):void//敌人的移动status():int//位置stop():void//停止移动3详细类图52.2Fruit类1成员变量Al_time1:intappearTime:intdirection:intfruit:Rectangleinterval:intxPos:int2方法draw(Graphics):void//绘制水果的颜色move(Wall):void//移动水果3详细类图62.3Gold类1成员变量gold:RectanglegoldSpecies:intxPos:int2方法bigGoid():boolean//判断是否是大豆子draw(Graphics):void//根据x、y和豆子的类型构造一个豆子的对象3详细类图2.4Packman类1成员变量SOUND:AudioClip[]UP_TYPED:bppleanWALL:Image[]alarm:booleanalarmTime:intgameFlow:intgameStarted:booleangameover:booleanhealth:intlevelComplete:boolean7offScreenImage:Image2方法actionPerformed(ActionEvent):void//监听按键init():void//applet初始化keyPressed(KeyEvent):void//按下按键keyReleased(KeyEvent):void//松开按键keyTyped(KeyEvent):void//释放按键paint(Graphics):void//绘制轨迹start():void//开始stop():void//结束update(Graphics):void//绘制更新后的轨迹3详细类图2.5Player类1成员变量canMoveUp:booleandead:booleanDirection:intisMoving:booleanmouthDegree:intmouthOpen:booleanPlayer:RectangleSpeed:intxPos:int8xVPos:intyPos:intyVPos:int2方法ChangeDirection(int):void//改变前进方向Dead():void//死亡draw(Graphics):void//绘制吃豆者move(Wall[]):void//吃豆者移动stop():void//吃豆者停止移动3详细类图2.6Ticker类1成员变量isTicking:booleanal:ActionListenerdelay:intt:Thread2方法run():void//奔跑start():void//开始3详细类图92.7Wall类1成员变量Indexoflmage:intWall:RectanglexPos:intyPos:int2详细类图103编码实现3.1Enemy类的详细代码importjava
本文标题:吃豆子游戏
链接地址:https://www.777doc.com/doc-6849387 .html