拼图游戏

2025-12-10 0 306

============
== pin tu ==
============

language: delphi
version: 0.02
author: tony (sudahei@citiz.net)
date: 2002.01.13

introduction
============
以前看到拼图游戏大多是正方型的图块,而且很多甚至只有通过交换两个图块的位置来起到移动的作用,感觉和现实中的拼图实在是相差太远了,非常不舒服。
而前不久看到《三国赵云传》中副送的一个拼图游戏,它的图块是不规则边型的(有凹凸的边缘),又可以在窗口中随便拖动任何图块,这使我萌生了自己制作一个类似软件的想法。(之后又看到了一个名为bjig32的外国的拼图游戏,做得太好了,如果是在我开始开发这个程序前看到它的话,也许我就不会想着自己开发了,因为我看来是开发不出像它那么好的拼图游戏的。。。)

how i implement it
==================
该游戏整个系统中包括两个我自己设计的类,TTuObj和TTuMng。
TTuObj — 是指图块,即被切割后的一小块图片,它本身具有不规则的边界,并且可以响应鼠标的拖动事件,在它所在的容器中移动。我将该类设计为继承自TObject,然后在constructor中再分别生成一个TPanel和一个TImage(之所以不是继承自TControl或直接继承自TPanel,实在是因为我对使用vcl写控件还不是很熟悉,如果你可以的话,就改写一下吧),TPanel的作用是用来生成不规则边型的形状,因为TImage没有Handle,无法改变它的形状(我认为是这样的),而TImage用来显示图象和提供鼠标事件。另外每个TTuObj中还记录着它四周的TTuObj的指针,以及是否已经建立了连接,这样就可以提供能够判断两个图块是否在靠近时建立连接,以及当图块连接后移动任何一个图块都可以带动和它已连接的图块一起移动。
TTuMng — 是拼图游戏的管理器,由它负责将一张完整的图片分割后生成一个个图块,集中管理它们,并负责判断是否所有的图块都连接起来了(即游戏结束)。

known bugs
==========
现在整个系统的效率还很低,特别是当移动图块时,闪烁非常厉害,我初步判定后认为,是因为当移动一个图块时,首先会引发该图块本身的PAINT事件,然后会引发该图块所在容器的PAINT事件,这样就意味着所有的图块都将被重绘一次,而不规则边型控件的重绘本来就是低效的,所以会找成如此闪烁。我尝试过自己处理TTuObj中AImage的WM_PAINT消息处理函数(就是当正在拖动图块时不允许重绘),但是发现在移动图块后,它经过的地方都留下了残像。而《三国赵云》中的拼图游戏是用directx写的,一点闪烁都没有,也许以后我会尝试用directx来写它。

hope u can join and improve it!!!!!!

下载源码

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 拼图游戏 https://www.zuozi.net/32554.html

聪聪历险记
上一篇: 聪聪历险记
断点续传
下一篇: 断点续传
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务