Player.cpp 862 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #define _USE_MATH_DEFINES
  2. #include <cmath>
  3. #include "Player.h"
  4. #include <GL/freeglut.h>
  5. Player* Player::instance = NULL;
  6. Player::Player()
  7. {
  8. speed = 10;
  9. health = 50;
  10. xp = 75;
  11. level = 10;
  12. }
  13. Player* Player::getInstance()
  14. {
  15. if (instance == nullptr)
  16. instance = new Player();
  17. return instance;
  18. }
  19. void Player::init()
  20. {
  21. instance = new Player();
  22. }
  23. Player::~Player()
  24. {
  25. if (leftWeapon)
  26. delete leftWeapon;
  27. if (rightWeapon)
  28. delete rightWeapon;
  29. }
  30. void Player::setCamera()
  31. {
  32. glRotatef(rotation.x, 1, 0, 0);
  33. glRotatef(rotation.y, 0, 1, 0);
  34. glTranslatef(-position.x, -position.y, -position.z);
  35. }
  36. void Player::setPosition(float angle, float fac, bool height)
  37. {
  38. if (height)
  39. position.y += angle*fac;
  40. else
  41. {
  42. position.x -= (float)cos((rotation.y + angle) / 180 * M_PI) * fac;
  43. position.z -= (float)sin((rotation.y + angle) / 180 * M_PI) * fac;
  44. }
  45. }