Player.cpp 877 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. crystals = 0;
  13. }
  14. Player* Player::getInstance()
  15. {
  16. if (instance == nullptr)
  17. instance = new Player();
  18. return instance;
  19. }
  20. void Player::init()
  21. {
  22. instance = new Player();
  23. }
  24. Player::~Player()
  25. {
  26. if (leftWeapon)
  27. delete leftWeapon;
  28. if (rightWeapon)
  29. delete rightWeapon;
  30. }
  31. void Player::setCamera()
  32. {
  33. glRotatef(rotation.x, 1, 0, 0);
  34. glRotatef(rotation.y, 0, 1, 0);
  35. glTranslatef(-position.x, -position.y, -position.z);
  36. }
  37. void Player::setPosition(float angle, float fac, bool height)
  38. {
  39. if (height)
  40. position.y += angle*fac;
  41. else
  42. {
  43. position.x -= (float)cos((rotation.y + angle) / 180 * M_PI) * fac;
  44. position.z -= (float)sin((rotation.y + angle) / 180 * M_PI) * fac;
  45. }
  46. }