summaryrefslogtreecommitdiffhomepage
path: root/examples/shapes/shapes_collision_area.c
diff options
context:
space:
mode:
authorRay <[email protected]>2019-05-20 16:36:42 +0200
committerRay <[email protected]>2019-05-20 16:36:42 +0200
commitb525039e0ab8bcaa2fd6bde34c72a6405f88ae49 (patch)
tree08f1c79bfe693643564ed78202c9474b7eb83a79 /examples/shapes/shapes_collision_area.c
parenta43a7980a30a52462956b23f2473e8ef8f38d1fb (diff)
downloadraylib-b525039e0ab8bcaa2fd6bde34c72a6405f88ae49.tar.gz
raylib-b525039e0ab8bcaa2fd6bde34c72a6405f88ae49.zip
Review ALL examples
Diffstat (limited to 'examples/shapes/shapes_collision_area.c')
-rw-r--r--examples/shapes/shapes_collision_area.c86
1 files changed, 43 insertions, 43 deletions
diff --git a/examples/shapes/shapes_collision_area.c b/examples/shapes/shapes_collision_area.c
index e61623ab..0deba0dd 100644
--- a/examples/shapes/shapes_collision_area.c
+++ b/examples/shapes/shapes_collision_area.c
@@ -12,89 +12,89 @@
#include "raylib.h"
#include <stdlib.h> // Required for abs()
-int main()
+int main(void)
{
// Initialization
//---------------------------------------------------------
- int screenWidth = 800;
- int screenHeight = 450;
+ const int screenWidth = 800;
+ const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [shapes] example - collision area");
-
+
// Box A: Moving box
Rectangle boxA = { 10, GetScreenHeight()/2 - 50, 200, 100 };
- int boxASpeedX = 4;
-
+ int boxASpeedX = 4;
+
// Box B: Mouse moved box
Rectangle boxB = { GetScreenWidth()/2 - 30, GetScreenHeight()/2 - 30, 60, 60 };
-
- Rectangle boxCollision = { 0 }; // Collision rectangle
-
+
+ Rectangle boxCollision = { 0 }; // Collision rectangle
+
int screenUpperLimit = 40; // Top menu limits
-
- bool pause = false; // Movement pause
- bool collision = false; // Collision detection
-
- SetTargetFPS(60);
+
+ bool pause = false; // Movement pause
+ bool collision = false; // Collision detection
+
+ SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//----------------------------------------------------------
-
+
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//-----------------------------------------------------
// Move box if not paused
- if (!pause) boxA.x += boxASpeedX;
-
+ if (!pause) boxA.x += boxASpeedX;
+
// Bounce box on x screen limits
- if (((boxA.x + boxA.width) >= GetScreenWidth()) || (boxA.x <= 0)) boxASpeedX *= -1;
-
- // Update player-controlled-box (box02)
- boxB.x = GetMouseX() - boxB.width/2;
- boxB.y = GetMouseY() - boxB.height/2;
-
+ if (((boxA.x + boxA.width) >= GetScreenWidth()) || (boxA.x <= 0)) boxASpeedX *= -1;
+
+ // Update player-controlled-box (box02)
+ boxB.x = GetMouseX() - boxB.width/2;
+ boxB.y = GetMouseY() - boxB.height/2;
+
// Make sure Box B does not go out of move area limits
- if ((boxB.x + boxB.width) >= GetScreenWidth()) boxB.x = GetScreenWidth() - boxB.width;
- else if (boxB.x <= 0) boxB.x = 0;
-
- if ((boxB.y + boxB.height) >= GetScreenHeight()) boxB.y = GetScreenHeight() - boxB.height;
- else if (boxB.y <= screenUpperLimit) boxB.y = screenUpperLimit;
-
+ if ((boxB.x + boxB.width) >= GetScreenWidth()) boxB.x = GetScreenWidth() - boxB.width;
+ else if (boxB.x <= 0) boxB.x = 0;
+
+ if ((boxB.y + boxB.height) >= GetScreenHeight()) boxB.y = GetScreenHeight() - boxB.height;
+ else if (boxB.y <= screenUpperLimit) boxB.y = screenUpperLimit;
+
// Check boxes collision
collision = CheckCollisionRecs(boxA, boxB);
-
- // Get collision rectangle (only on collision)
- if (collision) boxCollision = GetCollisionRec(boxA, boxB);
-
+
+ // Get collision rectangle (only on collision)
+ if (collision) boxCollision = GetCollisionRec(boxA, boxB);
+
// Pause Box A movement
- if (IsKeyPressed(KEY_SPACE)) pause = !pause;
+ if (IsKeyPressed(KEY_SPACE)) pause = !pause;
//-----------------------------------------------------
-
+
// Draw
//-----------------------------------------------------
BeginDrawing();
-
+
ClearBackground(RAYWHITE);
-
+
DrawRectangle(0, 0, screenWidth, screenUpperLimit, collision? RED : BLACK);
DrawRectangleRec(boxA, GOLD);
DrawRectangleRec(boxB, BLUE);
-
+
if (collision)
{
// Draw collision area
DrawRectangleRec(boxCollision, LIME);
-
+
// Draw collision message
DrawText("COLLISION!", GetScreenWidth()/2 - MeasureText("COLLISION!", 20)/2, screenUpperLimit/2 - 10, 20, BLACK);
-
+
// Draw collision area
DrawText(FormatText("Collision Area: %i", (int)boxCollision.width*(int)boxCollision.height), GetScreenWidth()/2 - 100, screenUpperLimit + 10, 20, BLACK);
- }
+ }
DrawFPS(10, 10);
-
+
EndDrawing();
//-----------------------------------------------------
}
@@ -103,6 +103,6 @@ int main()
//---------------------------------------------------------
CloseWindow(); // Close window and OpenGL context
//----------------------------------------------------------
-
+
return 0;
} \ No newline at end of file