Beginners_-_Player_Struct.c 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "raylib.h"
  2. // Our player struct
  3. typedef struct Player {
  4. Vector2 position;
  5. Vector2 size;
  6. float speed;
  7. int energy;
  8. } Player;
  9. int main(void)
  10. {
  11. // Initialization
  12. //--------------------------------------------------------------------------------------
  13. const int screenWidth = 800;
  14. const int screenHeight = 450;
  15. InitWindow(screenWidth, screenHeight, "raylib example.");
  16. // Here we initialise our player.
  17. Player player = {0};
  18. player.position = (Vector2){400,200};
  19. player.size = (Vector2){32,48};
  20. player.speed = 1.5f;
  21. player.energy = 10.0f;
  22. SetTargetFPS(60); // Set our game to run at 60 frames-per-second
  23. //--------------------------------------------------------------------------------------
  24. // Main game loop
  25. while (!WindowShouldClose()) // Detect window close button or ESC key
  26. {
  27. // Update
  28. //----------------------------------------------------------------------------------
  29. //----------------------------------------------------------------------------------
  30. // Draw
  31. //----------------------------------------------------------------------------------
  32. BeginDrawing();
  33. ClearBackground(RAYWHITE);
  34. // Draw our player.
  35. DrawRectangle(player.position.x,player.position.y,player.size.x,player.size.y,RED);
  36. // Draw our player info.
  37. DrawText(FormatText("Player x: %i ",player.position.x),0,0,20,BLACK);
  38. DrawText(FormatText("Player y: %i ",player.position.y),0,20,20,BLACK);
  39. DrawText(FormatText("Player speed: %02.02f ",player.speed),0,40,20,BLACK);
  40. DrawText(FormatText("Player energy: %i ",player.energy),0,60,20,BLACK);
  41. EndDrawing();
  42. //----------------------------------------------------------------------------------
  43. }
  44. // De-Initialization
  45. //--------------------------------------------------------------------------------------
  46. CloseWindow(); // Close window and OpenGL context
  47. //--------------------------------------------------------------------------------------
  48. return 0;
  49. }