夢幻連連連 原始碼分析 完 尋路消除演算法

2021-06-21 15:35:29 字數 1325 閱讀 2185

判斷兩個是否可以消除

bool maplayer::cancleartwo(cocos2d::ccpoint pointpre, cocos2d::ccpoint pointcurrent)

return bmatch;

}

2在一直線上,且中間無障礙

bool maplayer::match_direct(cocos2d::ccpoint a, cocos2d::ccpoint b)

cclog("a.x: %f, a.y: %f", a.x, a.y);

cclog("b.x: %f, b.y: %f", b.x, b.y);

int i;

bool match_x = false; //初始x,y 座標都不相同

if(a.x == b.x)

}} if(b.y > a.y)

}} }

bool match_y = false;

if(a.y == b.y)

}} if(b.x > a.x)

}} }

return match_x || match_y;

}

2無障礙通路出現乙個拐點

bool maplayer::match_one_corner(cocos2d::ccpoint a, cocos2d::ccpoint b)

point = ccpointmake(a.x, b.y);

if( this->isvaliablenode(point) && this->isemptynode(point) && this->match_direct(a, point) && this->match_direct(b, point))

return false;

}

2無障礙通路出現兩個拐點

bool maplayer::match_two_corner(cocos2d::ccpoint a, cocos2d::ccpoint b)

else

} }

for(int i = a.x + 1; i < total_x; ++i) else

} }

for(int i = a.y - 1; i >= 0; --i) else

} }

for(int i = a.y + 1; i < total_y; ++i) else

} }

return false;

}

連連看原始碼除錯問題

2.原先專案的 啟動專案 為mapeditor,因為他下面必要的資源被刪了,所以也不能除錯成功,你可以把啟動專案定為directx,然後編譯完以後,再把那個mapeditor.exe拷過來 如果你需要使用的話 或者你將debug下的資源拷到mapeditor的目錄下去,這樣就可以除錯了 3.原先專案...

02 連連看 用例分析

需求 基本規則 用滑鼠左鍵點選方塊,將2個圖案相同的方塊用連線連線起來,連線線不多於3根直線,連線後方塊就會消除。選擇乙個棋子用滑鼠左鍵點選,棋子會變色,然後點選另乙個同樣牌面圖案的棋子,如果能夠連線就ok了,如果不能連線,第一次選擇的棋子就會失效。需求 用例分析 分析物件 1.開局和互動單擊用例均...

連連看遊戲,2點是否可消除演算法分析

現在在看鬱金香的vc外掛程式教程,其中對於連連看外掛程式 在此感謝這位兄弟 x1,y1 p2 x2,y2 的座標,那麼px1,px2,py1,py2座標是什麼呢?只要有幾何的初步知識就可以知道px1 x1,0 px2 x2,0 py1 0,y1 py2 0,y2 那麼分析上面的一大堆對於我們有什麼用...