Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.13 KB | None | 0 0
  1. void Multiplayer::receivePackets()
  2. {
  3.     sf::Vector2f updateplayerPosition, updatebulletPosition;
  4.  
  5.     sf::Packet tpacket;
  6.     socket.receive(tpacket);
  7.  
  8.     bool temp; int i = 0;
  9.     if (tpacket >> temp >> updateplayerPosition.x >> updateplayerPosition.y)
  10.         player2->setPosition(updateplayerPosition);
  11.     else if (tpacket >> updatebulletPosition.x >> updatebulletPosition.y >> i)
  12.         std::cout << "received bullet position\n";
  13.  
  14.     packet1.clear();
  15.     packet2.clear();
  16.     tpacket.clear();
  17. }
  18.  
  19. void Multiplayer::playersUpdate()
  20. {
  21.     sf::Vector2f lastplayerPosition = player1->getPosition();
  22.  
  23.     if (focus)
  24.         player1->update(gameTime.asSeconds());
  25.  
  26.     if (lastplayerPosition != player1->getPosition())
  27.     {
  28.         bool temp = true;
  29.         packet1 << temp << player1->getPosition().x << player1->getPosition().y;
  30.         socket.send(packet1);
  31.     }  
  32. }
  33.  
  34. void Multiplayer::bulletsUpdate()
  35. {
  36.     sf::Vector2f lastbulletPosition;
  37.  
  38.     if (focus)
  39.         if (!isBullet)
  40.             if (player1->isAttacking()) {
  41.                 Bullet tbullet1(100.f), tbullet2(100.f);
  42.                 tbullet1.setPosition(player1->getCenter()), tbullet2.setPosition(player2->getCenter());
  43.                 tbullet1.setVelocity(normalizeMousePosition());
  44.                 vbullets1.push_back(tbullet1);
  45.                 vbullets2.push_back(tbullet2);
  46.                 isBullet = true;
  47.             }
  48.  
  49.     lastbulletPosition = (vbullets1.size() ? vbullets1[0].getPosition() : sf::Vector2f(0, 0));
  50.  
  51.     for (size_t i = 0; i < vbullets1.size(); i++)
  52.         vbullets1[i].update(gameTime.asSeconds());
  53.  
  54.     if (isBullet)
  55.         if (lastbulletPosition != vbullets1[0].getPosition()) {
  56.             int i = 1;
  57.             packet2 << vbullets1[0].getPosition().x << vbullets1[0].getPosition().y << i;
  58.             socket.send(packet2);
  59.             std::cout << "send\n";
  60.         }
  61.  
  62.     for (size_t i = 0; i < vbullets1.size(); i++)
  63.         if (collision->checkCollision(vbullets1[0], *gameTexture))
  64.             vbullets1.erase(vbullets1.begin() + i);
  65.     for (size_t i = 0; i < vbullets2.size(); i++)
  66.         if (collision->checkCollision(vbullets2[0], *gameTexture))
  67.             vbullets2.erase(vbullets2.begin() + i);
  68.  
  69.     if (vbullets1.size() < 1)
  70.         isBullet = false;
  71. }
  72.  
  73. void Multiplayer::update()
  74. {
  75.     gameTime = gameClock.restart();
  76.  
  77.     playersUpdate();
  78.     bulletsUpdate();
  79.     receivePackets();
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement