Jihang Chen
用NetBeans实现桌面小游戏“连连看”
一、连连看游戏的游戏规则简介
即,经空白区域,最多可用三条直线相连的相同图形可以相互抵消
二、连连看主算法
对于选中的两点A(x1,y1)与B(x2,y2),经由下面的方法判断其是否可以相连
boolean ifCanConnect(int x1,int y1,int x2,int y2){
if(ifCanOneLineConnect(x1,y1,x2,y2))
return true;
else if(ifCanTwoLinesConnect(x1,y1,x2,y2))
return true;
else if(ifCanThreeLinesConnect(x1,y1,x2,y2))
return true;
else return false;
}
其中,ifCanOneLineConnect(x1,y1,x2,y2){
if(A与B在一条直线上,且A与B之间皆为空白)
return true;
else
rerurn false;
}
if(ifCanTwoLinesConnect(x1,y1,x2,y2)){
计算A点向上、下、左、右四个方向查找所能到达(没有非空白图标阻挡)的空白点的集合S;
for every S 中的点 p(px,py);
if(ifCanOneLineConnect(px,py,x2,y2))
returen true;
else return false;
}
if(ifCanThreeLinesConnect(x1,y1,x2,y2)){
计算A点向上、下、左、右四个方向查找所能到达(没有非空白图标阻挡)的空白点的集合S;
for every S 中的点 p(px,py);
if(ifCanTwoLinesConnect(px,py,x2,y2))
returen true;
else return false;
}
三、用NetBeans实现的工程文件,可访问:
http://zh-cn.netbeans.org/community/game/60/index.html
Posted at 09:58上午 三月 16, 2008 by Jihang Chen in Java | 评论[0]