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.
Friendly.cpp@10:b856d73db923, 2017-05-02 (annotated)
- Committer:
- musallambseiso
- Date:
- Tue May 02 22:12:52 2017 +0000
- Revision:
- 10:b856d73db923
- Parent:
- 9:3c411d37d390
- Child:
- 11:4c4a0fe18ac2
Added Doxygen, tidied code
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
musallambseiso | 4:879c4cb8a7e4 | 1 | #include "Friendly.h" |
musallambseiso | 4:879c4cb8a7e4 | 2 | |
musallambseiso | 4:879c4cb8a7e4 | 3 | // Class for friendly ship (the one you control) |
musallambseiso | 4:879c4cb8a7e4 | 4 | |
musallambseiso | 4:879c4cb8a7e4 | 5 | Friendly::Friendly() |
musallambseiso | 4:879c4cb8a7e4 | 6 | { |
musallambseiso | 4:879c4cb8a7e4 | 7 | } |
musallambseiso | 4:879c4cb8a7e4 | 8 | |
musallambseiso | 4:879c4cb8a7e4 | 9 | Friendly::~Friendly() |
musallambseiso | 4:879c4cb8a7e4 | 10 | { |
musallambseiso | 4:879c4cb8a7e4 | 11 | } |
musallambseiso | 4:879c4cb8a7e4 | 12 | |
musallambseiso | 9:3c411d37d390 | 13 | void Friendly::init() // initialization |
musallambseiso | 4:879c4cb8a7e4 | 14 | { |
musallambseiso | 4:879c4cb8a7e4 | 15 | _x = 2; // starting x position (fixed) |
musallambseiso | 9:3c411d37d390 | 16 | _y = 18; // starting y position (centre) |
musallambseiso | 4:879c4cb8a7e4 | 17 | } |
musallambseiso | 4:879c4cb8a7e4 | 18 | |
musallambseiso | 4:879c4cb8a7e4 | 19 | void Friendly::draw(N5110 &lcd) // draws friendly ship in screen buffer |
musallambseiso | 4:879c4cb8a7e4 | 20 | { |
musallambseiso | 7:ac97bd2f5b1a | 21 | lcd.drawLine(_x,_y,_x,_y+5,1); |
musallambseiso | 5:0cd7f779418a | 22 | lcd.drawLine(_x+1,_y,_x+3,_y,1); |
musallambseiso | 7:ac97bd2f5b1a | 23 | lcd.drawLine(_x+1,_y+5,_x+3,_y+5,1); |
musallambseiso | 5:0cd7f779418a | 24 | lcd.drawLine(_x+4,_y+1,_x+5,_y+1,1); |
musallambseiso | 7:ac97bd2f5b1a | 25 | lcd.drawLine(_x+4,_y+4,_x+5,_y+4,1); |
musallambseiso | 7:ac97bd2f5b1a | 26 | lcd.drawLine(_x+6,_y+2,_x+6,_y+3,1); |
musallambseiso | 4:879c4cb8a7e4 | 27 | } |
musallambseiso | 4:879c4cb8a7e4 | 28 | |
musallambseiso | 4:879c4cb8a7e4 | 29 | void Friendly::update(Direction d,float mag) |
musallambseiso | 4:879c4cb8a7e4 | 30 | { |
musallambseiso | 5:0cd7f779418a | 31 | _speed = int(mag*4.0f); |
musallambseiso | 4:879c4cb8a7e4 | 32 | if (d == N) { |
musallambseiso | 4:879c4cb8a7e4 | 33 | _y-=_speed; |
musallambseiso | 4:879c4cb8a7e4 | 34 | } else if (d == S) { |
musallambseiso | 4:879c4cb8a7e4 | 35 | _y+=_speed; |
musallambseiso | 4:879c4cb8a7e4 | 36 | } else if (d == W) { |
musallambseiso | 4:879c4cb8a7e4 | 37 | _x-=_speed; |
musallambseiso | 4:879c4cb8a7e4 | 38 | } else if (d == E) { |
musallambseiso | 4:879c4cb8a7e4 | 39 | _x+=_speed; |
musallambseiso | 6:378b5d29e9cf | 40 | } else if (d == NW) { |
musallambseiso | 6:378b5d29e9cf | 41 | _y-=_speed; |
musallambseiso | 6:378b5d29e9cf | 42 | _x-=_speed; |
musallambseiso | 6:378b5d29e9cf | 43 | } else if (d == NE) { |
musallambseiso | 6:378b5d29e9cf | 44 | _y-=_speed; |
musallambseiso | 6:378b5d29e9cf | 45 | _x+=_speed; |
musallambseiso | 6:378b5d29e9cf | 46 | } else if (d == SW) { |
musallambseiso | 6:378b5d29e9cf | 47 | _y+=_speed; |
musallambseiso | 6:378b5d29e9cf | 48 | _x-=_speed; |
musallambseiso | 6:378b5d29e9cf | 49 | } else if (d == SE) { |
musallambseiso | 6:378b5d29e9cf | 50 | _y+=_speed; |
musallambseiso | 6:378b5d29e9cf | 51 | _x+=_speed; |
musallambseiso | 4:879c4cb8a7e4 | 52 | } |
musallambseiso | 10:b856d73db923 | 53 | } |
musallambseiso | 4:879c4cb8a7e4 | 54 | |
musallambseiso | 10:b856d73db923 | 55 | void Friendly::check_pos() { |
musallambseiso | 4:879c4cb8a7e4 | 56 | if (_y < 1) { |
musallambseiso | 4:879c4cb8a7e4 | 57 | _y = 1; |
musallambseiso | 4:879c4cb8a7e4 | 58 | } |
musallambseiso | 4:879c4cb8a7e4 | 59 | |
musallambseiso | 7:ac97bd2f5b1a | 60 | if (_y > 33) { |
musallambseiso | 7:ac97bd2f5b1a | 61 | _y = 33; |
musallambseiso | 4:879c4cb8a7e4 | 62 | } |
musallambseiso | 4:879c4cb8a7e4 | 63 | |
musallambseiso | 4:879c4cb8a7e4 | 64 | if (_x < 1) { |
musallambseiso | 4:879c4cb8a7e4 | 65 | _x = 1; |
musallambseiso | 4:879c4cb8a7e4 | 66 | } |
musallambseiso | 4:879c4cb8a7e4 | 67 | |
musallambseiso | 5:0cd7f779418a | 68 | if (_x > 78) { |
musallambseiso | 5:0cd7f779418a | 69 | _x = 78; |
musallambseiso | 4:879c4cb8a7e4 | 70 | } |
musallambseiso | 4:879c4cb8a7e4 | 71 | } |
musallambseiso | 4:879c4cb8a7e4 | 72 | |
musallambseiso | 10:b856d73db923 | 73 | |
musallambseiso | 4:879c4cb8a7e4 | 74 | Vector2D Friendly::get_pos() { |
musallambseiso | 4:879c4cb8a7e4 | 75 | Vector2D p = {_x,_y}; |
musallambseiso | 4:879c4cb8a7e4 | 76 | return p; |
musallambseiso | 4:879c4cb8a7e4 | 77 | } |