Example #1
0
void mine_sweeper::flagCell(int y, int x)
{
	if(functional_ /*&& ((bombs_ - numFlags)>0)*/)
	{	
		std::list <std::list <std::pair <std::pair <int,short> , std::pair <int,int> > > >::iterator x_proc = grid_data.begin();
		while(x_proc != grid_data.end())
		{
			std::list <std::pair <std::pair <int,short> , std::pair <int,int> > >::iterator y_proc = x_proc->begin();
			while(y_proc != x_proc->end())
			{
				if((y_proc->second.first == y) && (y_proc->second.second == x))
				{
					if(y_proc->first.second == 0)
					{
						y_proc->first.second = -2;
					}
					else if(y_proc->first.second == -2)
					{
						y_proc->first.second = 0;
					}
				}
				++y_proc;
			}
			++x_proc;
		}
		autoRefreshProc_();
		checkComplete();
	}
}
Example #2
0
void Level::update(float time)
{
	if (!started_)
	{
		restart();
		started_ = true;
	}
	if (player_->restarting && !drone_->restarting)
		drone_->restarting = true;
	else if (!player_->restarting && drone_->restarting)
		player_->restarting = true;
	player_->update(time, grid_, sf::Vector2i(tileSet_.tileWidth, tileSet_.tileHeight));
	drone_->nextLocation_ = sf::Vector2f(player_->getPosition().x + player_->getBounds().width / 2, player_->getPosition().y + player_->getBounds().height / 2);
	drone_->update(time);
	//Parallax effect
	if (player_->getState() != State::SLIDING_LEFT && player_->getState() != State::SLIDING_RIGHT)
		background_->setPosition(sf::Vector2f(player_->getPosition().x - background_->getBounds().width / 3 - player_->getPosition().x / PARALLAX_MODIFIER,
			player_->getPosition().y - background_->getBounds().height / 3 - player_->getPosition().y / PARALLAX_MODIFIER));
	else
		background_->setPosition(sf::Vector2f(player_->getPosition().x - background_->getBounds().width / 3 - player_->getPosition().x / PARALLAX_MODIFIER,
			player_->getPosition().y + player_->crouchHeight - player_->standardHeight - background_->getBounds().height / 3 - (player_->getPosition().y + player_->crouchHeight - player_->standardHeight) / PARALLAX_MODIFIER));
	checkComplete();
	sf::Listener::setPosition(player_->getPosition().x + player_->getBounds().width / 2, 0, player_->getPosition().y + player_->getBounds().height / 2);
	if (sound_.getStatus() != sf::SoundSource::Status::Playing && !died_ && !completed_)
	{
		sound_.setBuffer(buffer_);
		sound_.play();
	}
	else if (died_ || completed_)
		stopSounds();
	sound_.setPosition(drone_->getPosition().x, 0, drone_->getPosition().y);
	sound_.setMinDistance(500.f);

	if (music_.getStatus() != sf::SoundSource::Playing && reverseMusic_.getStatus() != sf::SoundSource::Playing)
		music_.play();

	if (music_.getStatus() == sf::SoundSource::Playing)
		musicTimer_ = music_.getPlayingOffset();
	else if (reverseMusic_.getStatus() == sf::SoundSource::Playing)
		musicTimer_ = reverseMusic_.getPlayingOffset();

	if (!died_ && !completed_)
	{
		if (player_->timeTraveling_ && music_.getStatus() == sf::SoundSource::Playing)
		{
			music_.pause();
			reverseMusic_.setPlayingOffset(reverseMusic_.getDuration() - music_.getPlayingOffset());
			reverseMusic_.play();
		}
		else if (!player_->timeTraveling_ && reverseMusic_.getStatus() == sf::SoundSource::Playing)
		{
			music_.setPlayingOffset(music_.getDuration() - reverseMusic_.getPlayingOffset());
			reverseMusic_.pause();
			music_.play();
		}
	}
	else if (completed_)
		stopSounds();
}
void DynamicZoneSlayerMirrorOfAbyss::heartbeat()
{
	switch (m_SMOAStatus )
	{
	case WAIT_FOR_PC:
		if (checkPC() )
		{
			processEntering();
			m_SMOAStatus = ADD_MONO;
		}
		break;

	case ADD_MONO:
		if (addMono() )
			m_SMOAStatus = WAIT_FOR_COMPLETE;
		break;

	case WAIT_FOR_COMPLETE:
		if (checkComplete() )
		{
			openGateToOut();
			m_SMOAStatus = CLEAR_MONO;
		}

		if (!checkMono() )
		{
			killPC();
		}

		break;

	case CLEAR_MONO:
		if (clearMono() )
			m_SMOAStatus = WAIT_FOR_CLEAR;
		break;

	case WAIT_FOR_CLEAR:
		if (!checkPC() && !checkMono() )
		{
			m_SMOAStatus = SLAYER_MIRROR_OF_ABYSS_END;
			m_Status = DYNAMIC_ZONE_STATUS_READY;
		}
		break;
	}

	if (!checkPC() )
	{
		if (m_SMOAStatus == WAIT_FOR_PC )
		{
			Timeval current;
			getCurrentTime(current);

			if (current > m_Deadline )
				m_SMOAStatus = CLEAR_MONO;
		}
		else if (m_SMOAStatus == WAIT_FOR_COMPLETE )
			m_SMOAStatus = CLEAR_MONO;
	}
}
void CBAchievementItem::increase( double increaseValue )
{
    if(!m_complete)
    {
        m_currentValue += increaseValue;
        checkComplete();
    }
}
void CBAchievementItem::update( double newValue )
{
    if(!m_complete)
    {
        m_currentValue = newValue;
        checkComplete();
    }
}
Example #6
0
	//--------------------------------------------------------------
	void Wait::runFunction(Command* command) {
		if (isFrameBased) {
			startTime = ofGetFrameNum();
		} else {
			startTime = ofGetElapsedTimef();
		}
		ofAddListener(ofEvents().update, this, &Wait::update);
		checkComplete();
	}
Example #7
0
void fifth::pushTile() {
    QString a;
    a = this->sender()->objectName();
    QPushButton * p = this->findChild<QPushButton *>(a);
    if(checkswap(blankTile, p)) swap(blankTile, p);
    if (checkComplete()) {
        int ask = QMessageBox::question(this, "Вы выйграли!","Хотите сыграть еще?",QMessageBox::Yes, QMessageBox::No);
        if(ask == QMessageBox::Yes)
            mixArea();
        else
            this->close();
    }
}
void
QvisScatterPlotWizardPage::decideColor(int state)
{
    if(state == Qt::Checked)
    {
        // enable color var sel
        colorVarButton->setEnabled(true);
        preview->setColoredPoints(true);
    }
    else
    {
        // disable enable color var sel
        colorVarButton->setEnabled(false);
        preview->setColoredPoints(false);
    }
    checkComplete();
}
void
QvisScatterPlotWizardPage::decideZ(int state)
{
    if(state == Qt::Checked)
    {
        // enable z var selection
        zVarButton->setEnabled(true);
        preview->setThreeD(true);
    }
    else
    {
        // disable z var selection
        zVarButton->setEnabled(false);
        preview->setThreeD(false);
    }
    checkComplete();
}
Example #10
0
void processSinkInfo( pa_context* context, const pa_sink_info* info, int eol, void* userData )
{
	StateData* stateData = static_cast<StateData*>( userData );

	if( eol < 0 ) {
		return;
	}

	if( eol ) {
		stateData->request = StateData::DONE;
	}
	else {
		DeviceInfo devInfo = createDeviceInfo<pa_sink_info>( info, DeviceInfo::OUTPUT );
		stateData->deviceInfos->push_back( devInfo );
	}
	
	checkComplete( context, stateData );
}
Example #11
0
void processServerInfo( pa_context* context, const pa_server_info* info, void* userData )
{
	StateData* stateData = static_cast<StateData*>( userData );

	switch( stateData->request ) {
		case StateData::GET_DEFAULT_SINK_NAME:
			stateData->defaultDeviceName = std::string( info->default_sink_name );
			break;
		case StateData::GET_DEFAULT_SOURCE_NAME:
			stateData->defaultDeviceName = std::string( info->default_source_name );
			break;
		default:
			break;
	}

	stateData->request = StateData::DONE;
	checkComplete( context, stateData );
}
Example #12
0
File: t.c Project: choupi/puzzle
int main()
{
	int T,t,i,j,k,l;
	char board[4][5];
	char tmp[5];
	
	scanf("%d", &T);
	for(t=0;t<T;t++) {
		for(i=0;i<4;i++)
			scanf("%s", board[i]);
		//for(i=0;i<4;i++){ for(j=0;j<4;j++) printf("%c",board[i][j]); printf("\n"); } 
		printf("Case #%d: ", t+1);
		if(checkBoard(board, 'X')) 
			printf("X won");
		else if(checkBoard(board, 'O'))
			printf("O won");
		else if(checkComplete(board, '.'))
			printf("Draw");
		else printf("Game has not completed");
		printf("\n");
	}
	return 0;
}
Example #13
0
	//--------------------------------------------------------------
	void Wait::update(ofEventArgs& event) {
		checkComplete();
	}
void
QvisScatterPlotWizardPage::choseColorVariable(const QString &var)
{
    colorVarName = var.toStdString();
    checkComplete();
}
Example #15
0
bool Action::running() {
	if (status == New) status = run();
	if(status == Running || status == Suspended) status = checkComplete();
	return (status == Running || status == New);
}
Example #16
0
bool Action::complete() {
	if(status == Running || status == Suspended) status = checkComplete();
	return (status == Complete || status == Failed);
}