连连看c语言实验报告

上传人:bin****86 文档编号:60355467 上传时间:2018-11-15 格式:DOCX 页数:13 大小:18.84KB
返回 下载 相关 举报
连连看c语言实验报告_第1页
第1页 / 共13页
连连看c语言实验报告_第2页
第2页 / 共13页
连连看c语言实验报告_第3页
第3页 / 共13页
连连看c语言实验报告_第4页
第4页 / 共13页
连连看c语言实验报告_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《连连看c语言实验报告》由会员分享,可在线阅读,更多相关《连连看c语言实验报告(13页珍藏版)》请在金锄头文库上搜索。

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划连连看c语言实验报告目录问题描述连连看是一款简单有趣的小游戏,曾经风靡一时,玩家要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手,游戏速度节奏快,画面清晰可爱,适合细心的玩家。游戏胜利条件的判定:将棋盘上面的格子全部消除掉;失败的判定:规定的时间内格子没有消除。问题分析连连看需要解决的问题包括:?整个游戏界面和各种图案的图形显示;?如何判断鼠标所点的两个图像能否相消;?如何判断是否消除完全;?如何判断游戏的结束及如何终止游戏;?游戏难度的设计和得分规则游戏总的流程

2、可以描述如下:首先出现游戏界面,一幅由10*6的小图片的构成的画面,玩家需要点击2个相同图案的对子,其连接线不多于3根直线,也就是说连接相同图案时,直线只能有两个折点,就可以成功将对子消除。此外,需要重点考虑的是游戏面板和各种形状的方块的数据结构表示。格子面板可以用一个二维数组来表示。1、开发工具的介绍【VSXX】VSXX引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用VisualStudioXX可以高效开发Windows应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时VisualStudioXX支持项目模板、调试器和部署程序

3、。VisualStudioXX可以高效开发Web应用,集成了AJAX,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。VS的开发界面分为两个版本:整合模式和孤立模式,分别对基于语言的开发和基于特别工具的开发作了优化。【EasyX】EasyX是针对C+的图形库,可以帮助C语言初学者快速上手图形和游戏编程。许多学编程的都是从C语言开始入门的,而目前的现状是:1.有些学校以TurboC为环境讲C语言,只是TurboC的环境实在太老了,复制粘贴都很不方便。2.有些学校直接拿VC来讲C语言,因为VC的编辑和调试环境都很优秀,并且VC有适合教学的免费版本。可惜在VC下只能做一些文

4、字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用TC,很是无奈。3.还有计算机图形学,这门课程的重点是绘图算法,而不是Windows编程。所以,许多老师不得不用TC教学,因为Windows绘图太复杂了,会偏离教学的重点。新的图形学的书有不少是用的OpenGL,可是门槛依然很高。所以,于是就有了EasyX库方便的开发平台和TC简单的绘图功能。2、设计【程序总体结构】:【界面设计】:界面的设计通过插入背景图片,在对每一个格子的赋图片,通过getimage()从中截下所需要的图,再利用putimage()放置每一个小图。具体算法:lo

5、adimage(&beijing,D:llk);/载入背景图putimage(0,0,&beijing);/放置背景图for(inti=0;i连连看c语言实验报告)COL;j+)idy=i*54+board_Y,idx=j*48+board_X;putimage(idx,idy,&imageboardi+1j+1);/根据赋的值放置每一个格子图宠物连连看1、问题描述连连看是一款简单有趣的小游戏,曾经风靡一时,玩家要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手,游戏速度节奏快,画面清晰可爱,适合细心的玩家。游戏胜利条件的判定:将棋盘上面的格子全部消除掉;失败的判定:规定的时

6、间内格子没有消除。2、问题分析连连看需要解决的问题包括:?整个游戏界面和各种图案的图形显示;?如何判断鼠标所点的两个图像能否相消;?如何判断是否消除完全;?如何判断游戏的结束及如何终止游戏;?游戏难度的设计和得分规则游戏总的流程可以描述如下:首先出现游戏界面,一幅由10*6的小图片的构成的画面,玩家需要点击2个相同图案的对子,其连接线不多于3根直线,也就是说连接相同图案时,直线只能有两个折点,就可以成功将对子消除。此外,需要重点考虑的是游戏面板和各种形状的方块的数据结构表示。格子面板可以用一个二维数组来表示。3、开发工具的介绍【VSXX】VSXX引入了250多个新特性,整合了对象、关系型数据、

7、XML的访问方式,语言更加简洁。使用VisualStudioXX可以高效开发Windows应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时VisualStudioXX支持项目模板、调试器和部署程序。VisualStudioXX可以高效开发Web应用,集成了AJAX,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。VS的开发界面分为两个版本:整合模式和孤立模式,分别对基于语言的开发和基于特别工具的开发作了优化。【EasyX】EasyX是针对C+的图形库,可以帮助C语言初学者快速上手图形和游戏编程。许多学编程的都是从C语言开始入门的,而目前

8、的现状是:1.有些学校以TurboC为环境讲C语言,只是TurboC的环境实在太老了,复制粘贴都很不方便。2.有些学校直接拿VC来讲C语言,因为VC的编辑和调试环境都很优秀,并且VC有适合教学的免费版本。可惜在VC下只能做一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用TC,很是无奈。3.还有计算机图形学,这门课程的重点是绘图算法,而不是Windows编程。所以,许多老师不得不用TC教学,因为Windows绘图太复杂了,会偏离教学的重点。新的图形学的书有不少是用的OpenGL,可是门槛依然很高。所以,于是就有了EasyX库

9、方便的开发平台和TC简单的绘图功能。4、设计【程序总体结构】:【界面设计】:界面的设计通过插入背景图片,在对每一个格子的赋图片,通过getimage()从中截下所需要的图,再利用putimage()放置每一个小图。具体算法:loadimage(&beijing,D:llk);/载入背景图putimage(0,0,&beijing);/放置背景图for(inti=0;i#include#includetypedefstructPlayerintRank;intscore;inttime;player;/定义一个玩家信息结构体typedefstructPointintx;inty;point;/连

10、连看地图坐标结构体playerpy5;playerp=4,0,0;intrecord=5;/记录个数intflag=0;/判断是否开始过游戏intrestarttime=1;chara9=,A,B,C,D,E,F,G,H;int*ch;voidProduce(intn);/随机产生地图intOneLink(pointp1,pointp2);/判断两点能否直接相连voidHV(pointp1,point*hp,point*vp,int*n1,int*n2);/连连看算法,计算两点横向和纵向的共同部分intExtendSearch(pointp1,pointp2);/通过调用OneLink(),H

11、V(),判断两点能否消除voidJudge();/调用ExtendSearch(),判断能否消除voidShow(intn);/显示连连看地图voidFree(intn);/释放内存voidMenu();/主菜单voidMenu2();/2级菜单voidSort();/排序函数,用于玩家排名voidRankSelect();/游戏难度等级选择intIfWin(intn);/判断是游戏是否赢voidRecord();/显示记录voidStart();/voidGameOver();/voidPlayGame();/intReadFile();/读取文件voidSaveFile();/保存文件vo

12、idCreateFile();/用于刚开始的创建文件voidRestart();/重置模式voidMenu()printf(*n);printf(*1.开始游戏*n);printf(*2.难度选择*n);printf(*3.查看记录*n);printf(*0.退出*n);printf(*n);voidMenu2()printf(*n);printf(*4*n);printf(*6*n);printf(*0.返回上级*n);printf(*n);voidProduce(intn)inti,j,k,m1,m2;srand(time(NULL);ch=(int*)malloc(n+2)*sizeof(int*);for(i=0;i)max=p1;min=p2;elsemax=p2;min=p1;if()=)return1;for(i=+1;i)max=p1;min=p2;elsemax=p2;min=p1;if()=)return1;for(i=+1;i=0;i-)if(chi=0)=;=i;hpj+=Hp;elsebreak;for(i=+1;i=0;i-)if(chi=0)=i;=;vpj+=Vp;elsebreak;for(i=+1;i+2;i+)if(chi=0)=i;=;vpj+=Vp;

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

当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号