Laila Al Badwawi 200906179 SpaceInvaders I declare this my own independent work and understand the university rules on plagiarism.

Dependencies:   mbed

Committer:
fy14lkaa
Date:
Thu May 09 06:46:27 2019 +0000
Revision:
141:02858e82c9cc
Parent:
139:c46a2cef7e09
Child:
142:92f277a3e7e6
added more comments on the alien.cpp

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fy14lkaa 28:4786e81ce3e3 1 #include "Alien.h"
fy14lkaa 130:4ce67451d0c1 2
fy14lkaa 28:4786e81ce3e3 3
fy14lkaa 137:fe80c0f2da9d 4 Alien::Alien() //constructor of class Alien
fy14lkaa 28:4786e81ce3e3 5 {
fy14lkaa 28:4786e81ce3e3 6
fy14lkaa 28:4786e81ce3e3 7 }
fy14lkaa 28:4786e81ce3e3 8
fy14lkaa 137:fe80c0f2da9d 9 Alien::~Alien() //Destructor of class Alien
fy14lkaa 28:4786e81ce3e3 10 {
fy14lkaa 28:4786e81ce3e3 11
fy14lkaa 28:4786e81ce3e3 12 }
fy14lkaa 28:4786e81ce3e3 13
fy14lkaa 139:c46a2cef7e09 14
fy14lkaa 137:fe80c0f2da9d 15 void Alien::init(int x_alien,int y_alien, int speed_alien)
fy14lkaa 137:fe80c0f2da9d 16 {
fy14lkaa 139:c46a2cef7e09 17 //intialise the prameters of class Alien
fy14lkaa 137:fe80c0f2da9d 18 _x_alien = x_alien; // the position of alien at x-cooridante.
fy14lkaa 137:fe80c0f2da9d 19 _y_alien = y_alien; // the position of alien at y-cooridante.
fy14lkaa 137:fe80c0f2da9d 20 _speed_alien = speed_alien; // the speed of the alien.
fy14lkaa 137:fe80c0f2da9d 21 _alive = true; //intialise the alive alien.
fy14lkaa 137:fe80c0f2da9d 22
fy14lkaa 137:fe80c0f2da9d 23 }
fy14lkaa 137:fe80c0f2da9d 24
fy14lkaa 91:f9e2ff484014 25
fy14lkaa 137:fe80c0f2da9d 26 // void function to draw the alien by using N5110 library
fy14lkaa 97:58e5b454931f 27 void Alien::draw(N5110 &lcd)
fy14lkaa 97:58e5b454931f 28 {
fy14lkaa 137:fe80c0f2da9d 29 //drawing the alien by using lcd.drawSprite.
fy14lkaa 134:2da2db5871bd 30
fy14lkaa 137:fe80c0f2da9d 31 lcd.drawSprite(_x_alien,_y_alien,32,32,(int *)alien2);
fy14lkaa 134:2da2db5871bd 32 }
fy14lkaa 133:eed60548d170 33
fy14lkaa 133:eed60548d170 34
fy14lkaa 98:663e584183bf 35
fy14lkaa 98:663e584183bf 36 void Alien::update(Direction d,float mag)
fy14lkaa 98:663e584183bf 37 {
fy14lkaa 98:663e584183bf 38 _speed_alien = int(mag*10.0f);
fy14lkaa 137:fe80c0f2da9d 39
fy14lkaa 134:2da2db5871bd 40
fy14lkaa 137:fe80c0f2da9d 41 srand(time(NULL)); // lets the alien move randomly.
fy14lkaa 134:2da2db5871bd 42 _y_alien += rand() % 17 - 8;
fy14lkaa 134:2da2db5871bd 43
fy14lkaa 130:4ce67451d0c1 44
fy14lkaa 137:fe80c0f2da9d 45
fy14lkaa 137:fe80c0f2da9d 46 if(_y_alien>=30) //if statment to check the position of the alien at y_cooridante.
fy14lkaa 134:2da2db5871bd 47 {
fy14lkaa 134:2da2db5871bd 48 _y_alien=30;
fy14lkaa 137:fe80c0f2da9d 49
fy14lkaa 137:fe80c0f2da9d 50 //printif("alien at y_cooridante equal 30\n")
fy14lkaa 134:2da2db5871bd 51 } else if(_y_alien<=0)
fy14lkaa 134:2da2db5871bd 52 {
fy14lkaa 134:2da2db5871bd 53 _y_alien=0;
fy14lkaa 134:2da2db5871bd 54 }
fy14lkaa 134:2da2db5871bd 55
fy14lkaa 133:eed60548d170 56 }
fy14lkaa 130:4ce67451d0c1 57
fy14lkaa 130:4ce67451d0c1 58
fy14lkaa 98:663e584183bf 59
fy14lkaa 141:02858e82c9cc 60 int Alien::get_pos_x() // to get the position of the alien at x_cooridante .
fy14lkaa 133:eed60548d170 61 {
fy14lkaa 141:02858e82c9cc 62 return _x_alien; // retutn x_corridante of the alien in integer.
fy14lkaa 98:663e584183bf 63 }
fy14lkaa 133:eed60548d170 64
fy14lkaa 137:fe80c0f2da9d 65 int Alien::get_pos_y() //function to get the position of the alien at y_cooridante.
fy14lkaa 133:eed60548d170 66 {
fy14lkaa 141:02858e82c9cc 67 return _y_alien; // retutn y_corridante of the alien in integer.
fy14lkaa 133:eed60548d170 68 }
fy14lkaa 133:eed60548d170 69
fy14lkaa 137:fe80c0f2da9d 70
fy14lkaa 137:fe80c0f2da9d 71 //void function to set the position of the alien in x-cooridante and y_cooridante.
fy14lkaa 133:eed60548d170 72 void Alien::set_pos(int x, int y)
fy14lkaa 133:eed60548d170 73 {
fy14lkaa 137:fe80c0f2da9d 74 _x_alien = x;
fy14lkaa 133:eed60548d170 75 _y_alien = y;
fy14lkaa 133:eed60548d170 76 }
fy14lkaa 133:eed60548d170 77
fy14lkaa 133:eed60548d170 78 void Alien::add_score()
fy14lkaa 133:eed60548d170 79
fy14lkaa 133:eed60548d170 80 {
fy14lkaa 137:fe80c0f2da9d 81 _score++; // increment the scores by 1.
fy14lkaa 137:fe80c0f2da9d 82 //printf("scores increament by 1\n")
fy14lkaa 133:eed60548d170 83 }
fy14lkaa 137:fe80c0f2da9d 84 int Alien::get_score()
fy14lkaa 137:fe80c0f2da9d 85 {
fy14lkaa 137:fe80c0f2da9d 86 return _score; //return the numbers of the scores which achived by the alien.
fy14lkaa 137:fe80c0f2da9d 87 //printf("returned scores\n")
fy14lkaa 134:2da2db5871bd 88 }
fy14lkaa 133:eed60548d170 89
fy14lkaa 137:fe80c0f2da9d 90
fy14lkaa 137:fe80c0f2da9d 91
fy14lkaa 133:eed60548d170 92 bool Alien::isAlive()
fy14lkaa 133:eed60548d170 93 {
fy14lkaa 137:fe80c0f2da9d 94 return _alive; //return the alive alien in bool.
fy14lkaa 137:fe80c0f2da9d 95
fy14lkaa 137:fe80c0f2da9d 96 //printf("alive alien is true\n")
fy14lkaa 133:eed60548d170 97 }
fy14lkaa 133:eed60548d170 98
fy14lkaa 137:fe80c0f2da9d 99
fy14lkaa 137:fe80c0f2da9d 100 void Alien::setAlive(bool alive) //void function to set up the alive alien.
fy14lkaa 133:eed60548d170 101 {
fy14lkaa 133:eed60548d170 102 _alive = alive;
fy14lkaa 137:fe80c0f2da9d 103 //printf("alive alien is set up\n")
fy14lkaa 134:2da2db5871bd 104 }
fy14lkaa 134:2da2db5871bd 105
fy14lkaa 133:eed60548d170 106
fy14lkaa 134:2da2db5871bd 107
fy14lkaa 133:eed60548d170 108
fy14lkaa 134:2da2db5871bd 109