Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
rec/rect.cpp@3:1a134243e2f0, 2018-04-15 (annotated)
- Committer:
- RickYu
- Date:
- Sun Apr 15 17:36:29 2018 +0000
- Revision:
- 3:1a134243e2f0
- Parent:
- 2:421fb0670c5c
- Child:
- 5:0a116644cce2
boom fall;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RickYu | 2:421fb0670c5c | 1 | #include "rect.h" |
RickYu | 2:421fb0670c5c | 2 | |
RickYu | 2:421fb0670c5c | 3 | rect::rect() |
RickYu | 2:421fb0670c5c | 4 | { |
RickYu | 2:421fb0670c5c | 5 | |
RickYu | 2:421fb0670c5c | 6 | } |
RickYu | 2:421fb0670c5c | 7 | |
RickYu | 2:421fb0670c5c | 8 | rect::~rect() |
RickYu | 2:421fb0670c5c | 9 | { |
RickYu | 2:421fb0670c5c | 10 | |
RickYu | 2:421fb0670c5c | 11 | } |
RickYu | 3:1a134243e2f0 | 12 | void rect::init(int x,int y) |
RickYu | 2:421fb0670c5c | 13 | { |
RickYu | 3:1a134243e2f0 | 14 | //rect_x = x; // x value on screen is fixed |
RickYu | 3:1a134243e2f0 | 15 | //rect_y = y; |
RickYu | 3:1a134243e2f0 | 16 | rect_speed = 0.7; // default speed |
RickYu | 2:421fb0670c5c | 17 | } |
RickYu | 2:421fb0670c5c | 18 | |
RickYu | 2:421fb0670c5c | 19 | void rect::draw(N5110 &lcd) |
RickYu | 2:421fb0670c5c | 20 | { |
RickYu | 3:1a134243e2f0 | 21 | lcd.drawRect(rect_x,rect_y,5,5,FILL_BLACK); |
RickYu | 3:1a134243e2f0 | 22 | |
RickYu | 2:421fb0670c5c | 23 | } |
RickYu | 2:421fb0670c5c | 24 | |
RickYu | 2:421fb0670c5c | 25 | void rect::update(Direction d,float mag) |
RickYu | 2:421fb0670c5c | 26 | { |
RickYu | 2:421fb0670c5c | 27 | |
RickYu | 2:421fb0670c5c | 28 | rect_speed = int(mag*10.0f); // scale is arbitrary, could be changed in future |
RickYu | 3:1a134243e2f0 | 29 | if (d == N) { |
RickYu | 2:421fb0670c5c | 30 | |
RickYu | 2:421fb0670c5c | 31 | rect_y-=rect_speed; |
RickYu | 3:1a134243e2f0 | 32 | |
RickYu | 2:421fb0670c5c | 33 | } else if (d == S) { |
RickYu | 3:1a134243e2f0 | 34 | |
RickYu | 2:421fb0670c5c | 35 | rect_y+=rect_speed; |
RickYu | 3:1a134243e2f0 | 36 | |
RickYu | 2:421fb0670c5c | 37 | } |
RickYu | 3:1a134243e2f0 | 38 | if (d == W) { |
RickYu | 2:421fb0670c5c | 39 | rect_x-=rect_speed; |
RickYu | 2:421fb0670c5c | 40 | } else if (d == E) { |
RickYu | 2:421fb0670c5c | 41 | rect_x+=rect_speed; |
RickYu | 2:421fb0670c5c | 42 | } |
RickYu | 2:421fb0670c5c | 43 | |
RickYu | 2:421fb0670c5c | 44 | // check the y origin to ensure that the paddle doesn't go off screen |
RickYu | 2:421fb0670c5c | 45 | if (rect_y < 1) { |
RickYu | 2:421fb0670c5c | 46 | rect_y = 1; |
RickYu | 2:421fb0670c5c | 47 | } |
RickYu | 2:421fb0670c5c | 48 | if (rect_y > 44) { |
RickYu | 2:421fb0670c5c | 49 | rect_y = 44; |
RickYu | 2:421fb0670c5c | 50 | } |
RickYu | 2:421fb0670c5c | 51 | |
RickYu | 2:421fb0670c5c | 52 | if (rect_x < 1) { |
RickYu | 2:421fb0670c5c | 53 | rect_x = 1; |
RickYu | 2:421fb0670c5c | 54 | } |
RickYu | 2:421fb0670c5c | 55 | if (rect_x > 80) { |
RickYu | 2:421fb0670c5c | 56 | rect_x = 80; |
RickYu | 2:421fb0670c5c | 57 | } |
RickYu | 2:421fb0670c5c | 58 | } |
RickYu | 2:421fb0670c5c | 59 | |
RickYu | 2:421fb0670c5c | 60 | |
RickYu | 2:421fb0670c5c | 61 | Vector2D rect::get_pos() { |
RickYu | 2:421fb0670c5c | 62 | Vector2D p = {rect_x,rect_y}; |
RickYu | 2:421fb0670c5c | 63 | return p; |
RickYu | 3:1a134243e2f0 | 64 | } |