赞
踩
宠物连连看课程设计报告
(26页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
19.90 积分
宠物连连看1、问题描述连连看是一款简单有趣的小游戏,曾经风靡一时,玩家要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手,游戏速度节奏快,画面清晰可爱,适合细心的玩家。游戏胜利条件的判定将棋盘上面的格子全部消除掉;失败的判定规定的时间内格子没有消除。2、问题分析连连看需要解决的问题包括?(1)整个游戏界面和各种图案的图形显示;?(2)如何判断鼠标所点的两个图像能否相消;?(3)如何判断是否消除完全;?(4)如何判断游戏的结束及如何终止游戏;?(5)游戏难度的设计和得分规则游戏总的流程可以描述如下首先出现游戏界面,一幅由106的小图片的构成的画面,玩家需要点击2个相同图案的对子,其连接线不多于3根直线,也就是说连接相同图案时,直线只能有两个折点,就可以成功将对子消除。此外,需要重点考虑的是游戏面板和各种形状的方块的数据结构表示。格子面板可以用一个二维数组来表示。3、开发工具的介绍【VS2008】VS2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用VISUALSTUDIO2008可以高效开发WINDOWS应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时VISUALSTUDIO2008支持项目模板、调试器和部署程序。VISUALSTUDIO2008可以高效开发WEB应用,集成了AJAX10,包含AJAX项目模板,它还可以高效开发OFFICE应用和MOBILE应用。VS的开发界面分为两个版本整合模式和孤立模式,分别对基于语言的开发和基于特别工具的开发作了优化。【EASYX】EASYX是针对C的图形库,可以帮助C语言初学者快速上手图形和游戏编程。许多学编程的都是从C语言开始入门的,而目前的现状是1有些学校以TURBOC为环境讲C语言,只是TURBOC的环境实在太老了,复制粘贴都很不方便。2有些学校直接拿VC来讲C语言,因为VC的编辑和调试环境都很优秀,并且VC有适合教学的免费版本。可惜在VC下只能做一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用TC,很是无奈。3还有计算机图形学,这门课程的重点是绘图算法,而不是WINDOWS编程。所以,许多老师不得不用TC教学,因为WINDOWS绘图太复杂了,会偏离教学的重点。新的图形学的书有不少是用的OPENGL,可是门槛依然很高。所以,于是就有了EASYX库方便的开发平台和TC简单的绘图功能。4、设计【程序总体结构】进入主函数INIT()函数初始图形初始化进度条1读取鼠标状态WM_MOUSEMOVEWM_LBUTTONDOWNBREAKLEFTBOTTONDOWN方块全消除进度条到头插入成功图片插入失败图片IFIF【界面设计】界面的设计通过插入背景图片BEIJINGBMP,在对每一个格子的赋图片,通过GETIMAGE从BOARDBMP中截下所需要的图,再利用PUTIMAGE放置每一个小图。具体算法LOADIMAGE//载入背景图PUTIMAGE0,0,//放置背景图FORINTI0IINCLUDEINCLUDEINCLUDEINCLUDEINCLUDE//播放音乐用的库PRAGMACOMMENTLIB,“WINMMLIB“//播放音乐用的库DEFINETURE1DEFINEFLASE0DEFINEBOARD_X140//格子区距左边框距离DEFINEBOARD_Y140//格子呢区距上边框距离DEFINECOL10//格子区列数DEFINEROW6//格子区行数DEFINEBOARD_NUMBER15//游戏图片数目DEFINEW48//格子的长DEFINEH54//格子的宽DEFINEN555//背景的宽DEFINEM797//背景的长DEFINEMAXA,BABABDEFINEMINA,BA0//查找水平方向公共区域WHILEMIN210LEFTMAXMIN1,MIN2//左边界WHILEMAX110BREAK}IFPATH0{LINEPRETX,PRETY,I,PRETY,I,CURTY,CURTX,CURTYSLEEP300COVERPREXX,PREYY,BOARD_XI148,PREYY,BOARD_XI148,CURYY,CURXX,CURYY//覆盖线条RETURNTRUE}}MIN1MAX1PRETY//查找垂直方向公共区域MIN2MAX2CURTYWHILEMIN110WHILEMIN210TOPMAXMIN1,MIN2WHILEMAX110BREAK}IFPATH0{LINEPRETX,PRETY,PRETX,J,CURTX,J,CURTX,CURTYSLEEP300COVERPREXX,PREYY,PREXX,BOARD_YJ154,CURXX,BOARD_YJ154,CURXX,CURYY//覆盖线条RETURNTRUE}}RETURNFALSE}VOIDINIT//初始化{INTIX,IY,JX,JY,IDX,IDY,TEMPSRANDUNSIGNEDTIMENULLLOAD_PICTUREIMAGEBEIJINGFORINTI0,X1X0I{SINUMBER10'0'NUMBER/10}SETBKMODETRANSPARENTSETFONT35,0,“华文琥珀“SETCOLORYELLOWOUTTEXTXY700,150,SPUTIMAGE758,150,}ELSE{EXCHANGEDUR,PREEXCHANGEPRE,CURDELCURCLICK11PUTIMAGEDURXX,DURYY,}}ELSECLICK11}}VOIDSELECTINTLEFTX,INTLEFTY//选中时效果{IFJUDGE_MOUSELEFTX,LEFTY{INTX,YMOUSE_TO_BOARDLEFTX,LEFTY,ACCURATELEFTX,LEFTYFRAMELEFTX,LEFTY}}BOOLJUDGE_MOUSEINTLEFTX,INTLEFTY//判断鼠标是否在游戏区{RETURNLEFTXBOARD_XMINYY1X2X1X2MINXX1Y3Y2Y3MINYY2X3X2X3MINXX2Y4Y3Y4MINYY3X4X3X4MINXX3X4X3X4FORINTJMINXJMAXXJ48PUTIMAGEJ,Y3,}}VOIDPROGRESSBAR//进度条的初始化{SETCOLORYELLOWRECTANGLE150,50,530,75SETCOLORYELLOWRECTANGLE153,53,527,72SETFILLSTYLEREDFLOODFILL151,51,YELLOWSETFILLSTYLEREDFLOODFILL160,60,YELLOW}VOIDUPDATEPROGRESSBARLONGT//进度条的更新{SETCOLORWHITERECTANGLE524DGREET,54,526,71SETFILLSTYLEWHITEFLOODFILL525DGREET,60,WHITE}VOIDMAIN{LONGT_BASE,T_RUN,TIMAGEBYE,FAILINITGRAPHM,NINITLOADIMAGE//成功时的图LOADIMAGE//失败时的图PLAYSOUND“D\\LLK\\SOUNDWAV“,NULL,SND_FILENAME|SND_ASYNC//背景音乐PROGRESSBART_BASETIMENULLWHILE1{T_RUNTIMENULLTT_RUNT_BASEUPDATEPROGRESSBARTMOUSEGETMOUSEMSGSWITCHMOUSEUMSG{CASEWM_MOUSEMOVEBREAKCASEWM_LBUTTONDOWNIFCLICKMOUSEX,MOUSEY{LEFTBOTTONDOWNMOUSE}BREAKDEFAULTBREAK}IFCOUNTER0{PUTIMAGE0,0,}IF525DGREET150{PUTIMAGE0,0,}}CLOSEGRAPH}6、测试刚开始消去游戏进行中胜利的图案失败的图案 关 键 词: 宠物 连连 课程设计 报告
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。