bool check_collision( SDL_Rect A, SDL_Rect B )
{
//The sides of the rectangles
int leftA, leftB;
int rightA, rightB;
int topA, topB;
int bottomA, bottomB;
//Calculate the sides of rect A
leftA = A.x ;
rightA = A.x + A.w ;
topA = A.y ;
bottomA = A.y + A.h ;
//Calculate the sides of rect B
leftB = B.x ;
rightB = B.x + B.w ;
topB = B.y ;
bottomB = B.y + B.h ;
//If any of the sides from A are outside of B
if ( bottomA <= topB )
{
Left_Collision = 0 ;
Right_Collision = 0 ;
Top_Collision = 0 ;
Bottom_Collision = 1 ;
return false ;
}
if ( topA >= bottomB )
{
Left_Collision = 0 ;
Right_Collision = 0 ;
Top_Collision = 1 ;
Bottom_Collision = 0 ;
return false ;
}
if ( rightA <= leftB )
{
Left_Collision = 0 ;
Right_Collision = 1 ;
Top_Collision = 0 ;
Bottom_Collision = 0 ;
return false ;
}
if ( leftA >= rightB )
{
Left_Collision = 1 ;
Right_Collision = 0 ;
Top_Collision = 0 ;
Bottom_Collision = 0 ;
return false ;
}
//If none of the sides from A are outside B
return true ;
}
Ym9vbCBjaGVja19jb2xsaXNpb24oU0RMX1JlY3QgQSwgU0RMX1JlY3QgQiApCnsKICAgIC8vVGhlIHNpZGVzIG9mIHRoZSByZWN0YW5nbGVzCglpbnQgbGVmdEEsIGxlZnRCOwoJaW50IHJpZ2h0QSwgcmlnaHRCOwoJaW50IHRvcEEsIHRvcEI7CglpbnQgYm90dG9tQSwgYm90dG9tQjsKCgoJLy9DYWxjdWxhdGUgdGhlIHNpZGVzIG9mIHJlY3QgQQoJbGVmdEEgPSBBLng7CglyaWdodEEgPSBBLnggKyBBLnc7Cgl0b3BBID0gQS55OwoJYm90dG9tQSA9IEEueSArIEEuaDsKCgoJLy9DYWxjdWxhdGUgdGhlIHNpZGVzIG9mIHJlY3QgQgoJbGVmdEIgPSBCLng7CglyaWdodEIgPSBCLnggKyBCLnc7Cgl0b3BCID0gQi55OwoJYm90dG9tQiA9IEIueSArIEIuaDsKCgoJLy9JZiBhbnkgb2YgdGhlIHNpZGVzIGZyb20gQSBhcmUgb3V0c2lkZSBvZiBCCgoJaWYoIGJvdHRvbUEgPD0gdG9wQiApCgkJewoJCQlMZWZ0X0NvbGxpc2lvbiA9IDA7CgkJCVJpZ2h0X0NvbGxpc2lvbiA9IDA7CgkJCVRvcF9Db2xsaXNpb24gPSAwOwoJCQlCb3R0b21fQ29sbGlzaW9uID0gMTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCglpZiggdG9wQSA+PSBib3R0b21CICkKCQl7CgkJCUxlZnRfQ29sbGlzaW9uID0gMDsKCQkJUmlnaHRfQ29sbGlzaW9uID0gMDsKCQkJVG9wX0NvbGxpc2lvbiA9IDE7CgkJCUJvdHRvbV9Db2xsaXNpb24gPSAwOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCglpZiggcmlnaHRBIDw9IGxlZnRCICkKCQl7CgkJCUxlZnRfQ29sbGlzaW9uID0gMDsKCQkJUmlnaHRfQ29sbGlzaW9uID0gMTsKCQkJVG9wX0NvbGxpc2lvbiA9IDA7CgkJCUJvdHRvbV9Db2xsaXNpb24gPSAwOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCWlmKCBsZWZ0QSA+PSByaWdodEIgKQoJCXsKCQkJTGVmdF9Db2xsaXNpb24gPSAxOwoJCQlSaWdodF9Db2xsaXNpb24gPSAwOwoJCQlUb3BfQ29sbGlzaW9uID0gMDsKCQkJQm90dG9tX0NvbGxpc2lvbiA9IDA7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJLy9JZiBub25lIG9mIHRoZSBzaWRlcyBmcm9tIEEgYXJlIG91dHNpZGUgQgoJcmV0dXJuIHRydWU7Cn0=
compilation info
prog.cpp:1:22: error: ‘SDL_Rect’ was not declared in this scope
prog.cpp:1:34: error: ‘SDL_Rect’ was not declared in this scope
prog.cpp:1:45: error: expression list treated as compound expression in initializer [-fpermissive]
prog.cpp:2:1: error: expected ‘,’ or ‘;’ before ‘{’ token
stdout