Player Library
Player.cpp@4:6d5ea29f83b0, 2017-04-24 (annotated)
- Committer:
- ll14c4p
- Date:
- Mon Apr 24 13:34:45 2017 +0000
- Revision:
- 4:6d5ea29f83b0
- Parent:
- 3:60a09496c839
- Child:
- 5:cd9699b836c3
+Added obtain position for projectile implementation;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ll14c4p | 1:933b7aa73bbc | 1 | #include "Player.h" |
ll14c4p | 0:a88279bdf8c0 | 2 | |
ll14c4p | 0:a88279bdf8c0 | 3 | Player::Player() |
ll14c4p | 0:a88279bdf8c0 | 4 | { |
ll14c4p | 0:a88279bdf8c0 | 5 | |
ll14c4p | 0:a88279bdf8c0 | 6 | } |
ll14c4p | 0:a88279bdf8c0 | 7 | |
ll14c4p | 0:a88279bdf8c0 | 8 | Player::~Player() |
ll14c4p | 0:a88279bdf8c0 | 9 | { |
ll14c4p | 0:a88279bdf8c0 | 10 | |
ll14c4p | 0:a88279bdf8c0 | 11 | } |
ll14c4p | 0:a88279bdf8c0 | 12 | |
ll14c4p | 1:933b7aa73bbc | 13 | int sprite[3][3] = { |
ll14c4p | 1:933b7aa73bbc | 14 | {1,0,1}, |
ll14c4p | 4:6d5ea29f83b0 | 15 | {0,1,0}, |
ll14c4p | 4:6d5ea29f83b0 | 16 | {1,0,1}, |
ll14c4p | 1:933b7aa73bbc | 17 | }; |
ll14c4p | 1:933b7aa73bbc | 18 | |
ll14c4p | 1:933b7aa73bbc | 19 | void Player::init(int x, int y) |
ll14c4p | 1:933b7aa73bbc | 20 | { |
ll14c4p | 4:6d5ea29f83b0 | 21 | _x = WIDTH/2; // Middle of screen // DOESNT FUCKING CAHNGE STARTING LOCATION |
ll14c4p | 1:933b7aa73bbc | 22 | _y = HEIGHT/2; // Near bottom of screen |
ll14c4p | 3:60a09496c839 | 23 | _speed = 0.3; // default speed |
ll14c4p | 1:933b7aa73bbc | 24 | |
ll14c4p | 1:933b7aa73bbc | 25 | } |
ll14c4p | 1:933b7aa73bbc | 26 | |
ll14c4p | 0:a88279bdf8c0 | 27 | |
ll14c4p | 0:a88279bdf8c0 | 28 | void Player::draw(N5110 &lcd) |
ll14c4p | 0:a88279bdf8c0 | 29 | { |
ll14c4p | 1:933b7aa73bbc | 30 | lcd.drawSprite(_x,_y,3,3,(int *)sprite); |
ll14c4p | 1:933b7aa73bbc | 31 | } |
ll14c4p | 1:933b7aa73bbc | 32 | |
ll14c4p | 1:933b7aa73bbc | 33 | |
ll14c4p | 1:933b7aa73bbc | 34 | |
ll14c4p | 4:6d5ea29f83b0 | 35 | Vector2D Player::get_pos() |
ll14c4p | 4:6d5ea29f83b0 | 36 | { |
ll14c4p | 4:6d5ea29f83b0 | 37 | Vector2D p = {_x,_y}; |
ll14c4p | 4:6d5ea29f83b0 | 38 | return p; |
ll14c4p | 4:6d5ea29f83b0 | 39 | } |
ll14c4p | 4:6d5ea29f83b0 | 40 | |
ll14c4p | 4:6d5ea29f83b0 | 41 | |
ll14c4p | 4:6d5ea29f83b0 | 42 | |
ll14c4p | 4:6d5ea29f83b0 | 43 | |
ll14c4p | 4:6d5ea29f83b0 | 44 | |
ll14c4p | 1:933b7aa73bbc | 45 | |
ll14c4p | 1:933b7aa73bbc | 46 | |
ll14c4p | 1:933b7aa73bbc | 47 | void Player::update(Direction d,float mag) |
ll14c4p | 1:933b7aa73bbc | 48 | { |
ll14c4p | 1:933b7aa73bbc | 49 | _speed = int(mag*10.0f); // scale is arbitrary, could be changed in future |
ll14c4p | 1:933b7aa73bbc | 50 | |
ll14c4p | 1:933b7aa73bbc | 51 | |
ll14c4p | 1:933b7aa73bbc | 52 | // update y value depending on direction of movement |
ll14c4p | 1:933b7aa73bbc | 53 | // North is decrement as origin is at the top-left so decreasing moves up |
ll14c4p | 1:933b7aa73bbc | 54 | if (d == N) { |
ll14c4p | 1:933b7aa73bbc | 55 | _y-=_speed; |
ll14c4p | 1:933b7aa73bbc | 56 | } |
ll14c4p | 1:933b7aa73bbc | 57 | if (d == S) { |
ll14c4p | 1:933b7aa73bbc | 58 | _y+=_speed; |
ll14c4p | 1:933b7aa73bbc | 59 | } |
ll14c4p | 1:933b7aa73bbc | 60 | if (d == E) { |
ll14c4p | 1:933b7aa73bbc | 61 | _x+=_speed; |
ll14c4p | 1:933b7aa73bbc | 62 | } |
ll14c4p | 2:108a1fc56c4c | 63 | if (d == W) { |
ll14c4p | 1:933b7aa73bbc | 64 | _x-=_speed; |
ll14c4p | 1:933b7aa73bbc | 65 | } |
ll14c4p | 2:108a1fc56c4c | 66 | if (d == NE) { |
ll14c4p | 2:108a1fc56c4c | 67 | _y-=_speed/2; |
ll14c4p | 2:108a1fc56c4c | 68 | _x+=_speed/2; |
ll14c4p | 2:108a1fc56c4c | 69 | } |
ll14c4p | 2:108a1fc56c4c | 70 | if (d == NW) { |
ll14c4p | 2:108a1fc56c4c | 71 | _y-=_speed/2; |
ll14c4p | 2:108a1fc56c4c | 72 | _x-=_speed/2; |
ll14c4p | 2:108a1fc56c4c | 73 | } |
ll14c4p | 2:108a1fc56c4c | 74 | if (d == SE) { |
ll14c4p | 2:108a1fc56c4c | 75 | _y+=_speed/2; |
ll14c4p | 2:108a1fc56c4c | 76 | _x+=_speed/2; |
ll14c4p | 2:108a1fc56c4c | 77 | } |
ll14c4p | 2:108a1fc56c4c | 78 | if (d == SW) { |
ll14c4p | 2:108a1fc56c4c | 79 | _y+=_speed/2; |
ll14c4p | 2:108a1fc56c4c | 80 | _x-=_speed/2; |
ll14c4p | 2:108a1fc56c4c | 81 | } |
ll14c4p | 2:108a1fc56c4c | 82 | |
ll14c4p | 1:933b7aa73bbc | 83 | |
ll14c4p | 1:933b7aa73bbc | 84 | // check the y origin to ensure that the paddle doesn't go off screen |
ll14c4p | 3:60a09496c839 | 85 | if (_y <= 0) { |
ll14c4p | 3:60a09496c839 | 86 | _y = 0; |
ll14c4p | 1:933b7aa73bbc | 87 | } |
ll14c4p | 3:60a09496c839 | 88 | if (_x <= 0) { |
ll14c4p | 3:60a09496c839 | 89 | _x = 0; |
ll14c4p | 1:933b7aa73bbc | 90 | } |
ll14c4p | 1:933b7aa73bbc | 91 | if (_x > 81) { |
ll14c4p | 1:933b7aa73bbc | 92 | _x = 81; |
ll14c4p | 1:933b7aa73bbc | 93 | } |
ll14c4p | 1:933b7aa73bbc | 94 | if (_y > 45) { |
ll14c4p | 3:60a09496c839 | 95 | _y = 45; |
ll14c4p | 1:933b7aa73bbc | 96 | } |
ll14c4p | 1:933b7aa73bbc | 97 | |
ll14c4p | 0:a88279bdf8c0 | 98 | } |