您好,欢迎访问三七文档
《面向对象程序设计》课程设计报告题目:贪吃蛇游戏设计与实现院(系):信息科学与工程学院专业班级:计科1302班学生姓名:毛慧剑学号:20131101057指导教师:苏莹2015年8月31日至2015年9月25日华中科技大学武昌分校制面向对象程序设计课程设计任务书一、设计(调查报告/论文)题目贪吃蛇游戏设计与实现二、设计(调查报告/论文)主要内容内容:玩家可以通过键盘或鼠标控制游戏区。游戏设定不同级别,级别越高难度越大,玩家可以根据自己的需要自由设定初始游戏级别,当玩家取得的分数到达一定水平时游戏自动进入下一个级别。游戏以最终玩家获得的分数来判断玩家水平的高低。使用Eclipse和JDK1.6工具,操作系统为WINDOWS,采用面向对象方法完成,包括总体设计、详细设计、编码实现、测试。设计要求如下:①游戏由模块组成:游戏区模块,游戏控制模块,级别设置模块和帮助模块。②游戏区模块,为玩家提供主体游戏功能,能够处理玩家的各种游戏操作,显示得分情况,并最终显示游戏结果。③游戏控制模块,该模块为玩家提供游戏控制功能,应包括开始游戏,暂停游戏和退出游戏三部分功能。④级别设置模块为玩家提供自行设置游戏的初始级别功能,主要提供初级,中级和高级三个游戏初始级别设置。三、原始资料1.《面向对象程序设计课程设计》指导书2.耿祥义.JAVA大学实用教程.北京:清华大学出版社,2009.四、要求的设计(调查/论文)成果1.课程设计报告2.课程设计软件五、进程安排布置任务,查找资料、需求分析2天总体设计1天详细设计2天编制源程序实现4天测试与修改1天撰写课设报告2天六、主要参考资料[1]张广彬.Java课程设计案例精编(第二版).北京:清华大学出版社,2011.[2]耿祥义.Java课程设计(第二版).北京:清华大学出版社,2008.[3]耿祥义.JAVA大学实用教程.北京:清华大学出版社,2009.[4]邹林达.陈国君Java2程序设计基础.北京:清华大学出版社,2010.指导教师(签名):20年月日目录1需求与总体设计..........................................................11.1总体设计思路..........................................................11.2系统主要功能图........................................................11.3系统主要类图..........................................................22详细设计................................................错误!未定义书签。2.1Login类..............................................错误!未定义书签。2.2SnakeFrame类.........................................错误!未定义书签。2.3SnakeModel类.........................................错误!未定义书签。2.4SnakePanel类........................................................32.5LocationRO类.........................................................错误!未定义书签。2.6Location类.............................................................错误!未定义书签。3.编码实现................................................................43.1Login类的详细代码....................................................43.2SnakeFrame类的详细代码...............................................73.3SnakeModel类的详细代码..............................................123.4SnakePanel类的详细代码..............................................173.5LocationRO类的详细代码..............................................223.6Location类的详细代码................................................234系统运行与测试.........................................................254.1程序主界面...........................................................254.2游戏开始界面.........................................................254.3游戏操作界面.........................................................254.4游戏难度设置界面....................................................264.5游戏窗口大小设置.....................................................274.6游戏软件开发人员介绍.................................................275系统使用步骤...........................................................28总结.....................................................................2911需求与总体设计1.1总体设计思路本系统要进行的是贪吃蛇游戏的开发。这个游戏是在窗口的平台上进行相关操作的。为了满足大部分用户的要求,本游戏必须实现的功能有如下要求:(1)贪吃蛇游戏是大家很常见的小游戏,在生活工作之余大家可以玩它,已达到放松各种压力的目的。(2)游戏可以进行升级,也就是增加吃食物的难度,以便使大家更有挑战性,不觉得太无趣。(3)游戏界面大小可以任意指定,数据从文件读入。(4)利用swing实现良好的GUI界面。(5)基本功能与要求:给出1条小蛇和随机出一个食物当小蛇吃到食物时就加分.良好的用户界面,有分数显示,并且可调节小蛇运动速度。良好的方块形状设计,绘制小蛇和食物,小蛇有六个方块组成,食物由1个方块组成。小蛇可通过键盘方向键(上、下、左、右键)进行向上、向下、向左、向右移动。当小蛇吃掉一个食物后会变长,并且吃完食物时食物会消失,并立即随即生成一个新的食物.1.2系统主要功能图贪吃蛇实现的基本功能:生成登录窗口界面,登录进入游戏,可以设置游戏的窗口大小和难度等级~游戏途中有暂停继续开始等基本功能。同时还设有游戏帮助等具体游戏操作指示、在加入了软件开发人员的相关信息介绍~结束游戏之后得分在窗口下自动统计得出~贪吃蛇游戏设计登陆界面进入游戏游戏设置控制方向得出分数结束游戏2图1-1系统功能图1.3系统主要类图3图1-2类图2详细设计2.1Login类Login类,登陆界面要求输入登陆者输入用户名和密码,分别设Go和Cancel两个登陆选项。2.1.1Login属性:用户名密码Go(进入游戏)Cancel(取消)操作:Enter()Close()2.2SnakeFrame类创建游戏窗口主界面。采用图形界面设计,有窗体,菜单栏和游戏操作界面。2.3SnakeModel类此类为蛇的初始化状态及模型,所有的游戏的开始都通过此类初始化及对蛇的操作。4SnakeModel属性:rows,cols,snakeHead,runingDiriction,locRO,snake,playBlockssnakeFood,gameScore,AddScore操作:LocationROgetSnakeHead(),LocationROgetSnakeTail(),LocationgetRuningDiriction(),LinkedListgetSnake(),LinkedListgetOthers(),getScore(),getAddScore(),setSnakeHead(LocationsnakeHead),LocationROgetSnakeFood(),setSnakeFood(),moveTo(Objecta,LinkedListfromlist,LinkedListtolist),init(),SnakeModel(introws1,intcols1),move(Locationdirection)2.4SnakePanel类此类为游戏界面创建蛇的面板和蛇的移动控制实现SnakePanel属性:gridsPanel,row;col;gridsPanel;direction;snake;snakeBody;otherBlocks;snakeHead;snakeFood;gameScore=0;speed;AddScore;t;isEnd;notExit;操作:SnakePanel(SnakeFrameparent,introw,intcol),newGame(longspeed)stopGame(),returnGame(),getGameScore(),updateTextFiled(Stringstr)updateColors(),run(),keyPressed(KeyEventevent)keyReleased(KeyEventevent),keyTyped(KeyEventevent)change(SnakeFrameparent,introw2,intcol2)2.5LocationRO类随机生成的食物位置。用来随机生成食物。引导蛇的移动方向。2.6Location类对蛇的位置的描述类Location属性:xy操作:Location(intx,inty),getX(),getY(),setX(intx),setY(inty),equalOrRev(Locatione),equals(Locatione),reverse(Locatione)53编码实现1.Login类//登陆界面publicclassLoginextendsJFrame{privateTextFieldf1;//创建文本框privateTextFieldf2;privateJButtonb1;//创建按钮privateJButtonb2;publicLogin(){//登陆界面Containercp=getContentPane();//获取容器cp.setLayout(newGridLayout(4,1));//设置布局管理为网格四行一列Labell1=newLabel(用户名);//创建标签了l1,l2Labell2=newLabel(密码);Panelp1=newPanel();//创建面板,p1,p2,p3,p4Panelp2=newPanel();Panelp3=newPanel();MyPanel1p4=newMyPanel1();//创建插入图片平面p4f1=newTextField(10);f2=newTextField(10);
本文标题:贪吃蛇课程设计
链接地址:https://www.777doc.com/doc-4526831 .html