Jihang Chen

星期日 三月 16, 2008

用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

Calendar

Feeds

Search

Links

Navigation

Referrers