Java连连看课程设计(7)

2019-01-07 14:08

信息与计算科学0601王丹平060701024

return true; } /**

* 判断前后点击的是不是同一个点,i,j相同就是一个点 * p1之前的点 * p2当前所点的点 * true 相通,false 不通 */

private boolean isSameOne(ArrayPoint p1, ArrayPoint p2){ if (p1.i == p2.i && p1.j == p2.j){ } else

return true;

{

} } /**

* 带一个拐点的情况,但不比较值的大小是否相等 * p1之前的点 * p2当前所点的点 * true 相通,false 不通 */

public boolean oneConnerWithoutValue(ArrayPoint p1, ArrayPoint p2){ // 获取P1水平方向的拐点

ArrayPoint p1H = new ArrayPoint(p1.i, p2.j, map[p1.i][p2.j]);

return false;

19

信息与计算科学0601王丹平060701024

// 获取P1垂直方向的拐点

ArrayPoint p1V = new ArrayPoint(p2.i, p1.j, map[p2.i][p1.j]); if (horizonMatch(p1, p1H) && (p1H.value == 0)){ }

if (verticalMatch(p1, p1V) && (p1V.value == 0)){ }

return false; } /**

* 带一个拐点的情况 * p1之前的点 * p2当前所点的点 * true 相通,false 不通 */

public boolean oneConner(ArrayPoint p1, ArrayPoint p2){ // 获取P1水平方向的拐点

ArrayPoint p1H = new ArrayPoint(p1.i, p2.j, map[p1.i][p2.j]); // 获取P1垂直方向的拐点

ArrayPoint p1V = new ArrayPoint(p2.i, p1.j, map[p2.i][p1.j]); if (p1.value != p2.value){

if (horizonMatch(p1V, p2)){ }

return true;

if (this.verticalMatch(p1H, p2)){ }

return true;

20

信息与计算科学0601王丹平060701024

}

return false;

if (oneConnerWithoutValue(p1, p2)){ }

return false; } /**

* 带两个拐点的情况,分四个方向走,上下左右,只要一个方向通过,即通过 * p1初始点 * p2 结束点

* true 相通,false 不通 */

public boolean twoConner(ArrayPoint p1, ArrayPoint p2){ if (p1.value != p2.value){ }

int count = 0;

ArrayPoint temp = null; // 左

for (int col = p1.j - 1; col >= 0; col--){

temp = new ArrayPoint(p1.i, col, map[p1.i][col]);

if ((temp.value == 0) && this.oneLineWithoutValue(p1, temp)){

if (this.oneConnerWithoutValue(temp, p2)){ }

return true;

return false; return true;

21

信息与计算科学0601王丹平060701024

}

} else { }

break;

// 右

count = Settings.COLUMNS + 2 - p1.j;

for (int col = p1.j; col < Settings.COLUMNS + 2; col++){ } // 上

count = p1.i;

for (int row = count - 1; row >= 0; row--){ }

temp = new ArrayPoint(row, p1.j, map[row][p1.j]); if ((temp.value == 0) && oneLineWithoutValue(p1, temp)){ }

if (oneConnerWithoutValue(temp, p2)){ }

return true;

temp = new ArrayPoint(p1.i, col, map[p1.i][col]); if ((temp.value == 0) && oneLineWithoutValue(p1, temp)){ }

if (oneConnerWithoutValue(temp, p2)){ }

return true;

22

信息与计算科学0601王丹平060701024

// 下

for (int row = p1.i + 1; row < Settings.ROWS + 2; row++){ }

return false; } /**

* 判断两点是否匹配,包括直线,一个拐点,两个拐点三种情况 * p1初始点 * p2结束点

* true 相通,false 不通 */

public boolean match(ArrayPoint p1, ArrayPoint p2){ if (this.isSameOne(p1, p2)){ }

if (oneLine(p1, p2)){

map[p1.i][p1.j] = 0; map[p2.i][p2.j] = 0; LEFTCOUNT -= 2; return true; return false;

temp = new ArrayPoint(row, p1.j, map[row][p1.j]); if ((temp.value == 0) && oneLineWithoutValue(p1, temp)){ }

if (oneConnerWithoutValue(temp, p2)){ }

return true;

23


Java连连看课程设计(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018东北行政伦理期末考试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: