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.
CheckAlienCollision.cpp
00001 #include "CheckAlienCollision.h" 00002 00003 bool CheckAlienCollision::check_alien_collision(Alien alien) { 00004 bool collision = false; 00005 Vector2D alien_pos = alien.get_pos(); 00006 00007 // Checks collision of alien and sprite 00008 if (check_top_right(alien, alien_pos)) { 00009 collision = true; 00010 }else if (check_top_left(alien, alien_pos)) { 00011 collision = true; 00012 }else if (check_bottom_left(alien, alien_pos)) { 00013 collision = true; 00014 }else if (check_bottom_left(alien, alien_pos)) { 00015 collision = true; 00016 } 00017 alien_track = alien.get_track_flag(); 00018 return collision; 00019 } 00020 00021 bool CheckAlienCollision::check_top_left(Alien alien, Vector2D alien_pos) { 00022 bool check_collision = false; 00023 00024 // Checks collision of top left corner of alien with sprite 00025 if (alien_pos.x >= position_x_ && 00026 alien_pos.x <= (position_x_ + sprite_x_length) && 00027 position_y_ <= alien_pos.y && 00028 alien_pos.y <= (position_y_ + sprite_y_length)) { 00029 check_collision = true; 00030 alien_collision_flag = true; 00031 } 00032 00033 return check_collision; 00034 } 00035 00036 bool CheckAlienCollision::check_top_right(Alien alien, Vector2D alien_pos) { 00037 bool check_collision = false; 00038 00039 // Checks collision of top right corner of alien with sprite 00040 if ((alien_pos.x + 7) >= position_x_ && 00041 (alien_pos.x + 7) <= (position_x_ + sprite_x_length) && 00042 position_y_ <= alien_pos.y && 00043 alien_pos.y <= (position_y_ + sprite_y_length)) { 00044 check_collision = true; 00045 alien_collision_flag = true; 00046 } 00047 00048 return check_collision; 00049 } 00050 00051 bool CheckAlienCollision::check_bottom_left(Alien alien, Vector2D alien_pos) { 00052 bool check_collision = false; 00053 00054 // Checks collision of bottom left corner of alien with sprite 00055 if (alien_pos.x >= position_x_ && 00056 alien_pos.x <= (position_x_ + sprite_x_length) && 00057 position_y_ <= (alien_pos.y + 6)&& 00058 (alien_pos.y + 6) <= (position_y_ + sprite_y_length)) { 00059 check_collision = true; 00060 alien_collision_flag = true; 00061 } 00062 00063 return check_collision; 00064 } 00065 00066 bool CheckAlienCollision::check_bottom_right(Alien alien, Vector2D alien_pos) { 00067 bool check_collision = false; 00068 00069 // Checks collision of bottom right corner of alien with sprite 00070 if ((alien_pos.x + 7) >= position_x_ && 00071 (alien_pos.x + 7) <= (position_x_ + sprite_x_length) && 00072 position_y_ <= (alien_pos.y + 6) && 00073 (alien_pos.y + 6) <= (position_y_ + sprite_y_length)) { 00074 check_collision = true; 00075 alien_collision_flag = true; 00076 } 00077 00078 return check_collision; 00079 }
Generated on Fri Aug 5 2022 06:55:07 by
1.7.2