Exemplo n.º 1
0
void
EKFLocalization::WTDreset2Initial(RoboCupGameControlData *gc, float MT, float MO)
{

	mgrid->resetClear();
	removeFilters();

	switch(GameController::getInstance()->getPlayerNumber()){
	case 1:
		//addPosition(-2000.0, -1900.0, pi_2);
		addPosition(-2000.0, 1900.0, -pi_2);
		break;
	case 2:
		//addPosition(-1500.0, -1900.0, pi_2);
		addPosition(-1500.0, 1900.0, -pi_2);
		break;
	case 3:
		addPosition(-1000.0, -1900.0, pi_2);
		//addPosition(-1000.0, 1900.0, -pi_2);
		break;
	case 4:
		addPosition(-500.0, -1900.0, pi_2);
		//addPosition(-500.0, 1900.0, -pi_2);
		break;
	};

	mgrid->normalize();
}
Exemplo n.º 2
0
 void RectPlacement::addRect(const Rectangle &r) {
     m_vRects.push_back(r);
     m_area += r.width() * r.height();
     
     // Add two new anchor points
     addPosition(Vector2(r.x(), r.y() + r.height() + m_margin));
     addPosition(Vector2(r.x() + r.width() + m_margin, r.y()));
 }
Exemplo n.º 3
0
void ProtocolGame::sendMove(const Position& fromPos, int thingId, int stackpos, const Position& toPos, int count)
{
    OutputMessagePtr msg(new OutputMessage);
    msg->addU8(Proto::ClientMove);
    addPosition(msg, fromPos);
    msg->addU16(thingId);
    msg->addU8(stackpos);
    addPosition(msg, toPos);
    msg->addU8(count);
    send(msg);
}
Exemplo n.º 4
0
void ProtocolGame::sendThrow(const Position& fromPos, int thingId, int stackpos, const Position& toPos, int count)
{
    OutputMessage oMsg;
    oMsg.addU8(Proto::ClientMoveObject);
    addPosition(oMsg, fromPos);
    oMsg.addU16(thingId);
    oMsg.addU8(stackpos);
    addPosition(oMsg, toPos);
    oMsg.addU8(count);
    send(oMsg);
}
Exemplo n.º 5
0
void
EKFLocalization::WTDresetFromPenalised(RoboCupGameControlData *gc, float MT, float MO)
{
	mgrid->resetClear();
	removeFilters();

	addPosition(-1500.0, -2000.0, pi_2);
	addPosition(-1500.0, 2000.0, -pi_2);

	mgrid->normalize();
}
Exemplo n.º 6
0
void ProtocolGame::sendUseItemEx(const Position& fromPos, int fromThingId, int fromStackpos, const Position& toPos, int toThingId, int toStackpos)
{
    OutputMessage oMsg;
    oMsg.addU8(Proto::ClientUseTwoObjects);
    addPosition(oMsg, fromPos);
    oMsg.addU16(fromThingId);
    oMsg.addU8(fromStackpos);
    addPosition(oMsg, toPos);
    oMsg.addU16(toThingId);
    oMsg.addU8(toStackpos);
    send(oMsg);
}
Exemplo n.º 7
0
void ProtocolGame::sendUseItemWith(const Position& fromPos, int itemId, int fromStackPos, const Position& toPos, int toThingId, int toStackPos)
{
    OutputMessagePtr msg(new OutputMessage);
    msg->addU8(Proto::ClientUseItemWith);
    addPosition(msg, fromPos);
    msg->addU16(itemId);
    msg->addU8(fromStackPos);
    addPosition(msg, toPos);
    msg->addU16(toThingId);
    msg->addU8(toStackPos);
    send(msg);
}
Exemplo n.º 8
0
void ViewpointNode::translate(SFVec3f vec) 
{
	float frame[3][3];
	float vector[3];
	getFrame(frame);
	vec.getValue(vector);
	addPosition(vector, frame);
}
Exemplo n.º 9
0
void ViewpointNode::addPosition(float x, float y, float z, float frame[3][3]) 
{ 
	float localTranslation[3];
	localTranslation[0] = x;
	localTranslation[1] = y;
	localTranslation[2] = z;
	addPosition(localTranslation, frame);
}
Exemplo n.º 10
0
	void ColoredText::getText(unique_ptr_vector<sf::Text>& target, const sf::Font& font, const unsigned char characterSize)const
	{
		const float TEXT_HEIGHT(font.getLineSpacing(characterSize) + LINE_SPACING);
		sf::Vector2f addPosition(0, 0);
		target.clear();

		getText(target, font, characterSize, TEXT_HEIGHT, addPosition);
	}
Exemplo n.º 11
0
void GameWorld::onTick(float ds)
{
	m_terrain->onTick(ds);

	// Update entities
	for (auto i = m_entities.begin(); i != m_entities.end(); ++i) {
		std::shared_ptr<Entity> e1 = *i;
		e1->addVelocity(-m_gravity * ds);
		e1->onTick(ds);		// updates the entity position based on velocity and camera
	}

	// Resolve collisions
	for (auto i = m_entities.begin(); i != m_entities.end(); ++i) {
		std::shared_ptr<Entity> e1 = *i;

		for (auto j = i; ++j != m_entities.end(); /**/) {
			std::shared_ptr<Entity> e2 = *j;

			glm::vec3 diff = e1->collides(e2);

			if (diff == glm::vec3(0.f)) continue;

            if(!e1->moveable() && !e2->moveable()) {
                e1->onCollide(e2);
                e2->onCollide(e1);
                continue;
            }

			if (!e1->moveable() || (e1->position().y == 0 && diff.y != 0)) {
				addPosition(e2, -diff);
			}
			else if (!e2->moveable() || (e2->position().y == 0 && diff.y != 0)) {
				addPosition(e1, diff);
            }
			else {
				addPosition(e1, diff / 2.f);
				addPosition(e2, -diff / 2.f);
			}

			e1->onCollide(e2);
			e2->onCollide(e1);
		}
	}

	//m_terrain->collide(m_entities);
}
Exemplo n.º 12
0
void
EKFLocalization::WTDreset2Playing(RoboCupGameControlData *gc, float MT, float MO)
{
	mgrid->resetClear();
	removeFilters();

	switch(GameController::getInstance()->getPlayerNumber())
	{
	case 1:
		addPosition(-2500.0, 0.0, 0.0);
		break;
	case 2:
		if(GameController::getInstance()->isMyKickOff())
			addPosition(-1500.0, 1500.0, 0.0);
		else
			addPosition(-2000.0, 1500.0, 0.0);
		break;
	case 3:
		if(GameController::getInstance()->isMyKickOff())
			addPosition(-1000.0, 0.0, 0.0);
		else
			addPosition(-2000.0, 250.0, 0.0);
		break;
	case 4:
		if(GameController::getInstance()->isMyKickOff())
			addPosition(-1500.0, -1500.0, 0.0);
		else
			addPosition(-2000.0, -1500.0, 0.0);
		break;
	};

	mgrid->normalize();
}
Exemplo n.º 13
0
void MultiPosFilterBlock::addRLEBlock(RLEBlock* block_){
	if (currBlock == NULL){//The first time add a triple
      setTriple(block_->getTriple());
	}else{//Next times add by postions.
       while(block_->hasNext()){
		   addPosition(block_->getNext()->position);
	   }
	}
}
Exemplo n.º 14
0
void ProtocolGame::sendLookAt(const Position& position, int thingId, int stackpos)
{
    OutputMessage oMsg;
    oMsg.addU8(Proto::ClientLook);
    addPosition(oMsg, position);
    oMsg.addU16(thingId);
    oMsg.addU8(stackpos);
    send(oMsg);
}
Exemplo n.º 15
0
void ProtocolGame::sendRotateItem(const Position& pos, int thingId, int stackpos)
{
    OutputMessage oMsg;
    oMsg.addU8(Proto::ClientTurnObject);
    addPosition(oMsg, pos);
    oMsg.addU16(thingId);
    oMsg.addU8(stackpos);
    send(oMsg);
}
Exemplo n.º 16
0
void ProtocolGame::sendRotateItem(const Position& pos, int thingId, int stackpos)
{
    OutputMessage msg;
    msg.addU8(Proto::ClientRotateItem);
    addPosition(msg, pos);
    msg.addU16(thingId);
    msg.addU8(stackpos);
    send(msg);
}
Exemplo n.º 17
0
void ProtocolGame::sendLook(const Position& position, int thingId, int stackpos)
{
    OutputMessagePtr msg(new OutputMessage);
    msg->addU8(Proto::ClientLook);
    addPosition(msg, position);
    msg->addU16(thingId);
    msg->addU8(stackpos);
    send(msg);
}
Exemplo n.º 18
0
void GPSTracker::positionUpdated(QGeoPositionInfo position) {
    if(tracking){
        addPosition(position);
    }
    emit positionUpdated(Point(position));
    horizontalAccuracy = position.attribute(QGeoPositionInfo::HorizontalAccuracy);
    verticalAccuracy   = position.attribute(QGeoPositionInfo::VerticalAccuracy);
    changeGPSStatus(RECEIVE);
}
Exemplo n.º 19
0
void ProtocolGame::sendUseOnCreature(const Position& pos, int thingId, int stackpos, uint creatureId)
{
    OutputMessagePtr msg(new OutputMessage);
    msg->addU8(Proto::ClientUseOnCreature);
    addPosition(msg, pos);
    msg->addU16(thingId);
    msg->addU8(stackpos);
    msg->addU32(creatureId);
    send(msg);
}
Exemplo n.º 20
0
void ProtocolGame::sendRequestTrade(const Position& pos, int thingId, int stackpos, uint playerId)
{
    OutputMessage oMsg;
    oMsg.addU8(Proto::ClientTradeObject);
    addPosition(oMsg, pos);
    oMsg.addU16(thingId);
    oMsg.addU8(stackpos);
    oMsg.addU32(playerId);
    send(oMsg);
}
Exemplo n.º 21
0
void ProtocolGame::sendUseItem(const Position& position, int itemId, int stackpos, int index)
{
    OutputMessagePtr msg(new OutputMessage);
    msg->addU8(Proto::ClientUseItem);
    addPosition(msg, position);
    msg->addU16(itemId);
    msg->addU8(stackpos);
    msg->addU8(index);
    send(msg);
}
Exemplo n.º 22
0
void ProtocolGame::sendUseItem(const Position& position, int itemId, int stackpos, int index)
{
    OutputMessage oMsg;
    oMsg.addU8(Proto::ClientUseObject);
    addPosition(oMsg, position);
    oMsg.addU16(itemId);
    oMsg.addU8(stackpos);
    oMsg.addU8(index);
    send(oMsg);
}
Exemplo n.º 23
0
void ProtocolGame::sendBrowseField(const Position& position)
{
    if(!g_game.getFeature(Otc::GameBrowseField))
        return;

    OutputMessagePtr msg(new OutputMessage);
    msg->addU8(Proto::ClientBrowseField);
    addPosition(msg, position);
    send(msg);
}
Exemplo n.º 24
0
void ProtocolGame::sendUseOnCreature(const Position& pos, int thingId, int stackpos, uint creatureId)
{
    OutputMessage oMsg;
    oMsg.addU8(Proto::ClientUseOnCreature);
    addPosition(oMsg, pos);
    oMsg.addU16(thingId);
    oMsg.addU8(stackpos);
    oMsg.addU32(creatureId);
    send(oMsg);
}
Exemplo n.º 25
0
void ProtocolGame::sendRequestTrade(const Position& pos, int thingId, int stackpos, uint creatureId)
{
    OutputMessage msg;
    msg.addU8(Proto::ClientRequestTrade);
    addPosition(msg, pos);
    msg.addU16(thingId);
    msg.addU8(stackpos);
    msg.addU32(creatureId);
    send(msg);
}
Exemplo n.º 26
0
void
EKFLocalization::WTDreset2Penalty(RoboCupGameControlData *gc, float MT, float MO)
{
	mgrid->resetClear();
	removeFilters();

	switch(GameController::getInstance()->getPlayerNumber())
	{
	case 1:
		addPosition(-3000.0, 0.0, 0.0);
		break;
	case 2:
	case 3:
	case 4:
		addPosition(700.0, 0.0, 0.0);
		break;
	};

	mgrid->normalize();
}
Exemplo n.º 27
0
FingerInfo::FingerInfo(int id, Vec2 position) :
  m_iFingerId(id),
  m_iHistorySize(0),
  m_angle(0),
  m_width(0),
  m_height(0),
  m_area(0)
  {
  // first position
  addPosition(position);
  }
Exemplo n.º 28
0
void AbstractGame::paintRegularPolygon(CDC &dc, int edgeCount, int size, const CPoint &start, double startDir) {
  Point2DP p = start;

  dc.MoveTo(p);
  const double dg         = 360.0/edgeCount;
  const double sideLength = sqrt(2.0 * size * size * (1.0 - cos(GRAD2RAD(dg))));
  double dir = startDir;
  for(int i = 0; i < edgeCount; i++, dir += dg) {
    addPosition(dc, p);
    p.x += sideLength * cos(GRAD2RAD(dir));
    p.y += sideLength * sin(GRAD2RAD(dir));
    dc.LineTo(p);
  }
}
Exemplo n.º 29
0
void updateFile(ObjFile* file, const char* line)
{
    // counts the number of groups, objectes, faces, positions, normals, 
    // texcoords 

    // TODO: trim [line]

    if (line[0] == 'v' && line[1] == ' ')
    {
        addPosition(file, line);
        return;
    }

    if (line[0] == 'v' && line[1] == 'n' && line[2] == ' ')
    {
        addNormal(file, line);
        return;
    }

    if (line[0] == 'v' && line[1] == 't' && line[2] == ' ')
    {
        addTexCoord(file, line);
        return;
    }

    if (line[0] == 'o' && line[1] == ' ')
    {
        addObject(file, line);
        return;
    }

    if (line[0] == 'g' && line[1] == ' ')
    {
        addGroup(file, line);
        return;
    }

    if (line[0] == 'f' && line[1] == ' ')
    {
        addFace(file, line);
        return;
    }

    if (strstr(line, "usemtl") == line) 
    {
        setCurrentMaterial(file, line);
        return;
    }
}
Exemplo n.º 30
0
        void Knight::makeTrajectory(const Board* board)
        {
            Log::Debug::write("KNIGHT: ");
            Log::Debug::write(this->boardPos);
            Log::Debug::writeln("makeTrajectory");

            this->trajectory.clear();

            addPosition(board,  1, -2 );
            addPosition(board,  2, -1 );
            addPosition(board,  2,  1 );
            addPosition(board,  1,  2 );
            addPosition(board, -1,  2 );
            addPosition(board, -2,  1 );
            addPosition(board, -2, -1 );
            addPosition(board, -1, -2 );
        }