连连看分步实现课件

上传人:无*** 文档编号:241817000 上传时间:2024-07-26 格式:PPT 页数:33 大小:842.50KB
返回 下载 相关 举报
连连看分步实现课件_第1页
第1页 / 共33页
连连看分步实现课件_第2页
第2页 / 共33页
连连看分步实现课件_第3页
第3页 / 共33页
点击查看更多>>
资源描述
连连看分步实现ppt课件聪明出于勤奋,天才在于积累聪明出于勤奋,天才在于积累BlockMap管理所有跟图块集合操作相关的操作:图块地图的初始化:生成、打乱图块对的消除两个图块匹配的寻路自动寻找图块对(实现提示)图块的位置变换等技巧:在所有图片的外层增加一层全部为0的块,在寻路和绘制路径时比较方便界面设计图片的管理和显示在本例中,图片并没有存储到各块中,而是预先加载到一个图片集合中,然后在需要时,根据BlockMap中某(x,y)位置上图片编号来索引并加载使用资源文件来管理所有资源1.新增资源项.resx文件,在其中导入所有需要的图片2.根据需要为资源更改名称,以方便调用加载资源Assemblyassembly;ResourceManagerrm;assembly=Assembly.GetExecutingAssembly();rmManager=newResourceManager(LLK.Images,assembly);string s=(string)rm.GetObject(step1);Image image=(Bitmap)rm.GetObject(_1_L2”);从当前程序集中加载特定的资源集合,必须使用完整路径从资源集合中获取特定资源对象,必须作显式转换Step1:地图显示和打乱在程序初始化时,先将要加载的图片在棋盘上按序绘制出来,注意每一种图标我们注意每一种图标我们绘制的时候需要一次性绘制两次绘制的时候需要一次性绘制两次,这样,才能保重绘制出来的每种图标的个数都是偶数个。如下图所示:注意和技巧棋盘在最外面一层中是不添加图标的,为的是我们连线时候能够使用最外层画线,而不会出现穿过图标画线的情况,如下图:Step1:地图显示和打乱窗体加载时初始化资源和pictureBox大小Assembly assembly;ResourceManager rm;Step1:地图显示和打乱窗体加载时初始化资源和pictureBox大小Step1:地图显示和打乱加载图片数据并支持刷新绘图初步Windows中绘图类似于投影,只有光持续打在屏幕上时才有图像,否则就只能显示“背景”所以需要不停地“重绘”,也就是在每次窗体刷新时将需要的东西重新“画上去”常用的重绘策略就是在paint事件中调用绘制代码Graphics类封装 GDI+绘图面,无法被继承(Sealed)。提供将对象绘制到显示设备的方法。Graphics对象与特定的设备上下文关联。Grahpics提供的方法分类绘制基本形状填充基本形状绘制图像绘制文本其他Graphics对象绘图方法DrawArc:绘制圆弧DrawBezier:绘制贝塞尔曲线DrawBeziers:绘制贝塞尔曲线组DrawClosedCurve:绘制封闭曲线DrawCurve:绘制曲线DrawEllipse:绘制椭圆DrawIcon:绘制图标DrawIconUnstretched:无缩放绘制图标DrawImage:绘制图像DrawImageUnscaled:无缩放绘制图像DrawLine:绘制直线DrawLines:绘制直线组DrawPath:绘制GraphicsPath对象DrawPie:绘制圆饼DrawPolygon:绘制多边形DrawRectangle:绘制矩形DrawRectangles:绘制矩形组DrawString:绘制文本Graphics对象绘制实心图形方法FillClosedCurve:绘制实心封闭曲线FillEllipe:封闭实心椭圆FillPath:GraphicsPath对象FillPie:绘制实心圆饼FillPolygon:绘制实心多边形FillRectangle:绘制实心矩形FillRectangles:绘制实心矩形组FillRegion:绘制实心Region对象Graphics对象的获得非Paint事件代码:控件.CreateGraphics();Paint事件代码中用e.Graphics;打乱顺序调用BlockMap.DeorderMap即可step2-实现连接的判断和消除新增以下几个方法:1.privateboolCanLinkDirectly(intx1,inty1,intx2,inty2):判断两个图块能否直线相连2.publicboolLinkMatch(intx1,inty1,intx2,inty2,outListcps):判断两个图块能否相连,如果可以,返回他们相连的折点集合3.publicvoidLink(intx1,inty1,intx2,inty2,Graphicsg,Penp):对两个能够相连的图块绘制他们之间的连线,并消除图块3调用2,2调用1,代码应尽可能功能明确,减少冗余连接算法连接算法的原理及实现(1)两个图标能够连接的充分条件是:(1)两个图标是相同的;(2)两个图标之间有一条路相连,其中这条“路上”没有其他的图标“阻碍”;(3)这一条路不能有两个以上的拐角;满足这三个条件即可认为两个图标是相连通的;连接算法连接算法的原理及实现(2)直线型:这就是横向或者是纵向方向判断即可,这种情况最容易判断,只要两者之间没有其他图标即可(2)一折型:其实在两个选中图标确定的两个对角顶点画一个矩形,若是其余两个顶点中有能够满足与两个选中图标都能够“直线型”相连的,即可认为此两个选中图标可以相连,实例如下,判断两个红色的图标相连的情况:连接算法连接算法的原理及实现(3)(3)二折型:对于二折型的判断是重点。判断二折型主要是做两个方向的扫描,即横向扫描与纵向扫描:横向扫描示意图:连接算法连接算法的原理及实现(4)纵向扫描示意图:界面实现(1)增加类实例变量声明:Blockfirst=null;/第一个被点击的图形坐标Blocksecond=null;/第二个被点击的图形PaintMap()中对选中的图块进行额外的显示界面实现(2)当点击图片框时,对选中图块进行配对处理思考:如何判断游戏结束或过关?如何给出提示?更进一步奖励计时图块运动规则:向下,左右分离背景音乐用户自定义设置分层连连看/镂空地图END16、业余生活要有意义,不要越轨。华盛顿17、一个人即使已登上顶峰,也仍要自强不息。罗素贝克18、最大的挑战和突破在于用人,而用人最大的突破在于信任人。马云19、自己活着,就是为了使别人过得更美好。雷锋20、要掌握书,莫被书掌握;要为生而读,莫为读而生。布尔沃
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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