Musallam Bseiso / Friendly
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?

UserRevisionLine numberNew 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 }