#include "raylib.h" #include "Controls.h" #include "Debug.h" #include "Copying.h" // Globles // Position Varaibles float EnemyPos_x = 482.0f, EnemyPos_y = 62.0f; float TuxPos_x = 32.0f, TuxPos_y = 62.0f; // Toggle bools bool ShowHitbox = false; // Setup Code void Func_Setup() { const int screenWidth = 800; const int screenHeight = 450; InitWindow(screenWidth, screenHeight, "Tux Vs Windows"); SetTargetFPS(60); } // GameLoop Code void Func_MainGameLoop() { // Load Textures Texture2D tux = LoadTexture("assets/tux.png"); Texture2D enemy = LoadTexture("assets/enemy.png"); Texture2D arctic = LoadTexture("assets/arctic.png"); // Hitboxes Rectangle EnemyHitbox = { GetScreenWidth()/2.0f - 30, GetScreenHeight()/2.0f - 30, 290, 300}; Rectangle TuxHitbox = { GetScreenWidth()/2.0f - 30, GetScreenHeight()/2.0f - 30, 90, 40}; Rectangle boxCollision = { 0 }; bool collision = false; // GameLoop while (!WindowShouldClose()) { Func_ShowPos(); Func_Controls(); TuxHitbox.x = TuxPos_x+50; TuxHitbox.y = TuxPos_y+50; EnemyHitbox.x = EnemyPos_x; EnemyHitbox.y = EnemyPos_y; collision = CheckCollisionRecs(EnemyHitbox, TuxHitbox); if (collision) boxCollision = GetCollisionRec(EnemyHitbox, TuxHitbox); BeginDrawing(); ClearBackground(RAYWHITE); // Put the sprites and text on the screen DrawTexture(arctic, 50, 0, RAYWHITE); DrawTexture(tux, TuxPos_x, TuxPos_y, RAYWHITE); DrawTexture(enemy, EnemyPos_x, EnemyPos_y, RAYWHITE); Func_CheckHitboxToggle(); if (ShowHitbox==true) { DrawRectangleRec(EnemyHitbox, RED); DrawRectangleRec(TuxHitbox, BLUE); } if (collision) { DrawText("FINALY BASIC AWFUL COLLISION", 50, 18, 20, BLACK); } else { DrawText("Tux Vs X ENGINE PROTOTYPE please read the LINCENSE", 50, 18, 20, BLACK); } DrawText("Press 'H' to toggle hitboxes", 50, 72, 20, BLACK); EndDrawing(); } // Unload Textures UnloadTexture(tux); UnloadTexture(enemy); UnloadTexture(arctic); } void Func_CheckHitboxToggle() { if (IsKeyPressed(KEY_H)) ShowHitbox = !ShowHitbox; } int main() { Func_Setup(); Func_MainGameLoop(); CloseWindow(); Func_License(); return 0; }