编程:做自己的连连看。
连连看程序两图片的是否可连的算法是怎样的?
如下图所示,连连看总共有四种连法,但算法只需三种。第一种:直接连。只要两图片相邻或两图片一个座标相等,并不相等的座标间图片为空。第二种:在其中一图片的交叉方同上,找出空位置记录在一数组中,让数组中的各值与另一图片位置进行直接连计算。交叉连。第三种:把两图片交叉方向上的空位置记录在二组数组中,让二组数组进行循环计算直接连。
注:如何判断交叉方向?ifx2>x1,thenx1+1就是交叉方向。Delphi程序 记录各图片的数组,有图片为true,没有图片为false。functionzhilian(x1,x2,y1,y2):booleanvari,k:integer;beginresult:=true;if(x1=x2)thenbegink:=y1-y2;k:=abs(k)/k;//k值变成一个+1或-1i:=y2;whiley1<>idobegini:=i+k;//i走向交叉方向ifp(x1,i)=truethenbeginresult:=false;exit;//end;end;end;。
。。。。(if(y1=y2)。。。end;。
相同的图可以定义成同一中资源,检测相邻的图片是不是同种资源,是则存放在一个队列中,循环直到周围没有相同的资源
答:进入“连连看”,点右上角的“牌形状”(共有10种),选择其中一种,点“确定”,再点“开始”。详情>>