コード例 #1
0
ファイル: CNetManager.cpp プロジェクト: tecan/LunaLibs
		void CNetManager::sendOutPacketUnreliable(SOutPacket& outpacket, const u16 playerId)
		{
			ENetPacket* packet = enet_packet_create((char*)outpacket.getData(), outpacket.getSize(), 0);
			ENetPeer* currentPeer = getPlayerById(playerId);

			if(currentPeer && currentPeer->state == ENET_PEER_STATE_CONNECTED)
				enet_peer_send(currentPeer, 0, packet);
		}
コード例 #2
0
ファイル: CNetManager.cpp プロジェクト: tecan/LunaLibs
		void CNetManager::kickClient(const u16 playerId, bool hardKick = false)
		{
			ENetPeer* currentPeer = getPlayerById(playerId);

			if(currentPeer)
				hardKick ?	enet_peer_disconnect_now(currentPeer,0) :
							enet_peer_disconnect(currentPeer,0);
		}
コード例 #3
0
ファイル: CNetManager.cpp プロジェクト: tecan/LunaLibs
		const u32 CNetManager::getClientAddress(const u16 playerId)
		{
			ENetPeer* currentPeer = getPlayerById(playerId);

			if(currentPeer)
				return currentPeer->address.host;

			return 0;
		}
コード例 #4
0
ファイル: Map.cpp プロジェクト: grout-r/cpp_bomberman
void						Map::update(double elapsedTime)
{
  Player					*player;
  std::pair<int, int>				pos;

  for (std::vector<Fire*>::iterator i = _fire.begin() ; i != _fire.end();)
    {
      if ((*i)->stillBurn(elapsedTime) == false)
	{
	  pos = (*i)->getPos();
	  i = _fire.erase(i);
	  delete _map[pos.first][pos.second];
	  _map[pos.first][pos.second] = new Void(pos);
	  _map[pos.first][pos.second]->initialize();
	}
      else
	++i;
    }
 
  for (std::vector<Bomb*>::iterator i = _bomb.begin() ; i != _bomb.end();)
    {
      if ((*i)->explose(elapsedTime) == true)
	{
	  pos = (*i)->getPos();
	  if ((player = getPlayerById((*i)->getPlayerId())))
	    player->addBomb();
	  fireSomeHut(pos, (*i)->getBombPower());
	  i = _bomb.erase(i);
	}
      else
	++i;
    }
  for (std::vector<Player*>::iterator i = _player.begin() ; i != _player.end();)
    {
      std::pair<int, int>		pos;
      
      pos = (*i)->getPos();
      if (_map[pos.first][pos.second]->what() == FIRE)
	{
	  delete (*i);
	  i = _player.erase(i);
	}
      else
	i++;
    }
}