moving.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. class moving {
  2. #front_back;
  3. #left_right;
  4. static get left() {
  5. return -1;
  6. }
  7. static get right() {
  8. return 1;
  9. }
  10. static get front() {
  11. return 1;
  12. }
  13. static get back() {
  14. return -1;
  15. }
  16. constructor() {
  17. this.stop();
  18. }
  19. stop() {
  20. this.#left_right = 0;
  21. this.#front_back = 0;
  22. }
  23. add_left() {
  24. this.#left_right = moving.left;
  25. }
  26. add_right() {
  27. this.#left_right = moving.right;
  28. }
  29. add_front() {
  30. this.#front_back = moving.front;
  31. }
  32. add_back() {
  33. this.#front_back = moving.back;
  34. }
  35. stop_front_back() {
  36. this.#front_back = 0;
  37. }
  38. stop_left_right() {
  39. this.#left_right = 0;
  40. }
  41. get is_back() {
  42. return this.#front_back === moving.back;
  43. }
  44. get is_front() {
  45. return this.#front_back === moving.front;
  46. }
  47. get is_left() {
  48. return this.#left_right === moving.left;
  49. }
  50. get is_right() {
  51. return this.#left_right === moving.right;
  52. }
  53. }
  54. export { moving }