예제 #1
0
void GameStartLayer::regret(CCObject *)
{
	if (_steps.size() ==  0)
	{
		return;
	}
	Step *step = *_steps.rbegin();
	_steps.pop_back();

	//! 具体恢复工作
	Stone *s = _s[step->moveid];
	s->_proper._row = step->rowFrom;
	s->_proper._col = step->colFrom;
	s->setPosition(s->fromPlate());

	Stone *killed;
	if (step->killid != -1)
	{
		killed = _s[step->killid];
		killed->_dead = false;
		killed->setVisible(true);
	}
	delete step;

	//! 隐藏选中框
	_selectid = -1;
	//_selectedSprite->setVisible(false);
	_selectedSprite->setPosition(s->getPosition());
}
예제 #2
0
void GameStartLayer::computerMove(float)
{
	Step*step = AI::getStepABS(this, 2);

	//Step *step = AI::getStep(this, 2);
	Stone *moveStone = _s[step->moveid];
	moveStone->_proper._row = step->rowTo;
	moveStone->_proper._col = step->colTo;
	moveStone->setPosition(moveStone->fromPlate());

	_bRedTurn = !_bRedTurn;

	if (step->killid != -1)
	{
		Stone *killStone = _s[step->killid];
		killStone->_dead = true;
		killStone->setVisible(false);
	}
	_selectedSprite->setPosition(moveStone->getPosition());
	_steps.push_back(step);
}