Exemplo n.º 1
0
    /**
     * 色を移動させて返す。
     * @param rgba0
     * @param rgba1
     * @param blend
     * @return
     */
    static Color moveColor(const Color now, const Color target, const uint8_t offset) {
        Color result;

        result.tag.r = targetMove(now.tag.r, target.tag.r, offset);
        result.tag.g = targetMove(now.tag.g, target.tag.g, offset);
        result.tag.b = targetMove(now.tag.b, target.tag.b, offset);
        result.tag.a = targetMove(now.tag.a, target.tag.a, offset);
        return result;
    }
Exemplo n.º 2
0
//déplacement selon l'etat de mouvement courant 
void Bee::move(sf::Time dt)
{ 
	switch(moveMode_)
	{
		case MoveMode::Rest:
		{
			changeEnergy(-restloss_);
			break;
		}
		
		case MoveMode::Random:
		{
			randomMove(dt);
			changeEnergy(-moveloss_);
			break;
		}
		
		case MoveMode::Targeted:
		{
			targetMove(dt,target_);
			changeEnergy(-moveloss_);
			break;
		}
	}
}
Exemplo n.º 3
0
void Board::targetMove() {
    int x = rand()%(1280-(int)_target.getSize().x)+1;
    int y = rand()%(720-(int)_target.getSize().y)+1;
    if (checkDistance(x, y) < mindistance && score == 0 || checkDistance(x, y) < mindistance) {
        targetMove();
    }
    _target.setPosition(x, y);
    redraw();
}
Exemplo n.º 4
0
void Board::check() {

    if (_snaek.getPosition().x <= 0 || _snaek.getPosition().x >= 1280 || _snaek.getPosition().y <= 0 || _snaek.getPosition().y >= 720) {
        dir = 4;
        score = 0;
        _snaek.setPosition(1, 1);
        targetMove();
    }


    int dis = 0;

    dis = abs( sqrt( pow(_snaek.getPosition().x - _target.getPosition().x, 2) + pow(_snaek.getPosition().y - _target.getPosition().y, 2)));
    dis -= _snaek.getSize().x/2;
    dis -= _target.getSize().x/2;

    if (dis<=0) {
        score+=1;
        targetMove();
        redraw();
    }


}
Exemplo n.º 5
0
void BossBullet::update(float dt){
	if(m_count == 0){
		if(m_targetPosition.x == 1000){
		     
		}else{
			c = (atan2(m_thisPosition.x - m_targetPosition.x,m_thisPosition.y - m_targetPosition.y)*180/M_PI);
		}
		if(m_isrota){
		   this->setRotation(c);
		}
	}
	targetMove(c);
	if (m_Hp <= 0) {
        m_active = false;
    }
	m_count++;
}
Exemplo n.º 6
0
Board::Board() {
    _mainWindow.create(sf::VideoMode(1280, 720), "snaek", sf::Style::Titlebar | sf::Style::Close);

    score = 0;
    dir = 3;

    if (!f.loadFromFile(fontdir+"verdana.ttf")) exit(1);

    _snaek.setSize(sf::Vector2f(20,20));
    _snaek.setFillColor(sf::Color(255,0,0));

    targetMove();
    _target.setSize(sf::Vector2f(20,20));
    _target.setFillColor(sf::Color(25,50,100));
    _target.setOutlineColor(sf::Color(200,50,100));
    _target.setOutlineThickness(2);

    redraw();

}