From 4135511820c0a119fa42f110ed23ace37b791d4d Mon Sep 17 00:00:00 2001 From: D-W- Date: Thu, 7 Aug 2014 20:35:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9B=B4=E4=BD=8F=E4=B9=8B?= =?UTF-8?q?=E5=90=8E=E5=B0=8F=E9=9B=A8=E6=BB=B4=E7=9A=84=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GameLayer.cpp | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/GameLayer.cpp b/GameLayer.cpp index 5393b79..2d95b48 100644 --- a/GameLayer.cpp +++ b/GameLayer.cpp @@ -269,6 +269,7 @@ void GameLayer::moveRaindrop() }*/ int row = m_raindrop->getRow(); int col = m_raindrop->getCol(); + int odd = row%2; //每次调用都重新初始化标记数组 memset((void*)m_mark,false,m_markSize); //当前坐标也标记为走过了 @@ -299,15 +300,33 @@ void GameLayer::moveRaindrop() Director::sharedDirector()->replaceScene(newScene); } }else{ - //雨滴被围住了 - //更换到endlayer - Scene* newScene = EndLayer::createScene(); - EndLayer* layer = EndLayer::create(); - //显示步数,背景不需要更换 - layer->end_step->setString(CCString::createWithFormat("%d",m_times)->getCString()); - layer->addChild(layer->end_step,1); - newScene->addChild(layer); - Director::sharedDirector()->replaceScene(newScene); + //雨滴被围住了,随便找一个方向走 + SquareSprite* next = NULL; + for(int i = 0;i<6;++i) + { + int next_row = row + choices[odd][i][0]; + int next_col = col + choices[odd][i][1]; + SquareSprite* next_sprite = m_matrix[next_row*MATRIX_WIDTH + next_col]; + if(!next_sprite->getSelected())//可以走就走 + { + next = next_sprite; + } + } + if(next){ + m_raindrop->runAction(MoveTo::create(0.3, next->getPosition())); + m_raindrop->setCol(next->getCol()); + m_raindrop->setRow(next->getRow()); + } + else{ + //更换到endlayer + Scene* newScene = EndLayer::createScene(); + EndLayer* layer = EndLayer::create(); + //显示步数,背景不需要更换 + layer->end_step->setString(CCString::createWithFormat("%d",m_times)->getCString()); + layer->addChild(layer->end_step,1); + newScene->addChild(layer); + Director::sharedDirector()->replaceScene(newScene); + } } }