C语言程序设计课程设计贪吃蛇.docx

上传人:王** 文档编号:1151382 上传时间:2024-04-05 格式:DOCX 页数:23 大小:144.44KB
下载 相关 举报
C语言程序设计课程设计贪吃蛇.docx_第1页
第1页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第2页
第2页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第3页
第3页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第4页
第4页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第5页
第5页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第6页
第6页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第7页
第7页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第8页
第8页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第9页
第9页 / 共23页
C语言程序设计课程设计贪吃蛇.docx_第10页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C语言程序设计课程设计贪吃蛇.docx》由会员分享,可在线阅读,更多相关《C语言程序设计课程设计贪吃蛇.docx(23页珍藏版)》请在优知文库上搜索。

1、辽宁工业大学C+语言程序设计课程设计(论文)题目:贪吃蛇院(系):软件学院专业班级:软件工程Hl班学号:;学生姓名:指导教师:翟宝峰教师职称:副教授起止时间:201L12.12-2011.12.25课程设计(论文)任务及评语学号学生姓名专业班级软件工程Ill班课程设计(论文)题目贪吃蛇课程设计(论文)任务程序设计的任务与要求:(1) .掌握面向对象程序设计语言C+的基本语法(2) .掌握C+面向对象设计的思想(3) .掌握VC+6.0与DEVC+开发工具的使用(4) .运用标准C+规范设计应用程序设计过程中,要严格遵守设计的时间安排,听从指导教师的指导。正确地完成上述内容,规范完整地撰写出设计

2、报告。指导教师评语及成绩成绩:指导教师签字:年月日教研室:软件教研室院(系):软件学院目录第1章课程设计目的与要求11.1 设计目的11.2 实验环境11.3 预备知识1上4设的要、求.二12-Ft,22.1课题描述22.2系统设计22.2.1功能分析22.2.2面向对象设计22.2.2类成员描述82.3程序实现112.3.1源码分析11*2.3.2、运行结果18第3章课程设十总结1920第1章课程设计目的与要求1.1设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在

3、下述各方面的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程C+语言教程的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。(3)利用所学知识,开发小型应用系统,掌握运用C+语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。(5)掌握面向对象程序设计的方法。(6)熟练掌握C+语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。1.2 实验环境硬件要

4、求能运行WindoWS操作系统的微机系统。C+语言应用程序开发软件使用:VC+系统,或其他C+语言应用程序开发软件。1.3 预备知识熟悉C+语言程序设计的基本知识及VC+编辑器的使用方法。设计要求1.仔细分析设计题目,画出程序流程图,编写程序源代码。2 .积极上机调试源程序,增强编程技巧与调程能力。3 .认真书写课程设计预习报告,课程设计说明书。4 .遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容。第2章课程设计内容2. 1课题描述贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己的所学知识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着我,它

5、的制作方法对于以前的我而言都是很神秘的。我希望通过自己的所学知识把它剖析开来,真真正正的了解它的本质和精髓。虽然我的编程能力不是很强,但是我有信心,在这次学习中我将从实践和实际的项目中提高自己的编程能力。因此我选定了这个题目。2.2系统设计2.1功能分析1.贪吃蛇的基本玩法:即可以用上、下、左、右键控制游戏区蛇的运动方向,使之向着食物方向运动,并吞吃食物使身体增长;2 .调节蛇的运动速度:即用户可以调节蛇的运动速度来选择不同的难度;3 .选择关卡功能:即游戏分多个难度级别(关卡),用户可以选择不同的难度级别进行游戏;4 .背景颜色变换功能:即用户可以选择一种自己喜欢的颜色作为游戏区的背景色,避

6、免对一种颜色产生视觉疲劳。2.2.2面向对象设计1类的设计本程序设计了IACtionHandIer类、IGraPhiCOUt类、CTraCeFn类、CSnakeGalne类、CSnakeviCW类、CSCOrCBoardDlg类、CChangeSPeedDIg类等。IActionHandler类作用:用于处理蛇的运动等操作。IGraphicOut类作用:显示面板信息。CTraceFn类作用:描绘踪迹。CSnakeGame类作用:控制游戏。CSnakeVieW类作用:游戏界面控制。CScoreBoardDlg类作用:得分信息控制QCChangeSpeedDlg类作用:移动速率控制。CMainFr

7、ame类作用:主窗口设置。基类为IActionHandler类、IGraPhiCOUt类、CTraceFn类。派生类CSnakeGame类由IActionHandler类继承,CSnakeView类由IGraPhiCOUt类继承。2. UML类图CSnakeGame-m_yFood:int-m_xFood:int-m_speed:int-m-mousepen:bool-m_timerCount:int-m_score:int-m_curDir:Direction- m_ySize:int- m_xSize:int- m_yPos:int- m_xPos:int- m_yPosBody:int-

8、 mxPosBody:int+gelSpeed():int+changeSpeed(speed:int):void+leftMove():void+rightMove():void+upMove():void+downMove():void+timeUp():void+exit():void+draw():void-CSnakeGame(pGO:IGraphicOut)-CSnakeGame()图2.1CSnakeGame类IAcrtionHandle#mpG0:IGraphicOu-IActionHandler(pGO:IGraphicOut)-IActionHandler()+getSpe

9、ed():int+changeSpeed(speed:int):void+leftMove():void+rightMove():void+downMove():void+upMove():void+timeUp():void+exit():void+draw():void图2.2IAcrtionHandle类IGraphicOut#mpDC:void+scoreBoard(scoreMessages:char):void+redraw():void+drawHead(type:int,x:int,y:int):void+drawBody(x:int,y:int):void+drawFood(

10、type:int,x:int,y:int):void+drawHorzWall(x1:int,x2:int,y:int):void+drawVertWalI(x:int,yl:int,y2:int):void+drawScore(score:+setDisplaySize(width:int,height:int):void+close():void-IGraphicOut()-IGraphicOut()图2.3IGraPhiCOUt类CSnakeVieW-m_wTimerRes:UINT-m_timerID:int-m_pActionHandler:IActionHandler-m_size

11、DB:CSize-m_pBmpDB:CBitmap-m_pDCMemDB:CDC-m_numCellsY:int-mnumCellsX:int-CSnakeView()CppMacro-DECLARE_DYNCREATE(CSnakeView)-myTimerCallback(wTimerID:UINT,msg:UINT,dwUser:DWORD,dwl:DWORD,dw2:DWORD):void-CSnakeView()+OnDraw(pDC:CDC):void+GetDocument():CSnakeDoc+PreCreateWindow(cs:CREATESTRUCT):BOOL+Onl

12、nitialUpdateO:void+scoreBoard(scoreMessages:char):void+close():void+redraw():void+SetActionHandler(pHandler:IActionHandler):void+setDisplaySize(width:int,height:int):void-drawSprite(pDC:CDC,resID:int,ix:int,iy:int):void+drawScore(score:int):void+drawHorzWall(x1:int,x2:int,y:int):void+drawVertWall(x:

13、int,yl:int,y2:int):void+drawFood(type:int,x:int,y:int):void+drawBody(x:int,y:int):void+drawHead(type:int,x:int,y:int):void+AssertValidO:void+Dump(dc:CDumpContext):void-closeWindow():void#OnSize(nType:UINT,ex:int,cy:int):void#OnPaint():void#OnDestroy():void#OnChangeLevel():void#OnPreparePrinting(pInf

14、o:CPrintInfo):BOOL#OnBeginPrinting(pDC:CDC,plnfo:CPrintInfo):void#OnEndPrinling(pDC:CDC,plnfo:CPrintInfo):void#OnKeyDown(nChar:UINT,nRepCnt:UINT,nFlags:UINT):void#0nTimer(nIDEvent:UINT):void#OnCreate(lpCreateStnicl:LPCREATESTRUCT):ini图2.4CSnakeView类CTraceFn-nlndent:ini-AfxTrace(lpszFormat:LPCTSTR,.):AFX_CDECL-OutputDebugStringW95(lpOutputString:1.PCTSTR,.):void-CTraceFn()-CTraceF

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > C/C++资料

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!