diff --git a/Working-with-Raylib-in-WebAssembly.md b/Working-with-Raylib-in-WebAssembly.md deleted file mode 100644 index 7b145c9..0000000 --- a/Working-with-Raylib-in-WebAssembly.md +++ /dev/null @@ -1,140 +0,0 @@ -#include "raylib.h" -#include - -#define MAX_OBJECTS 5 -#define SCREEN_WIDTH 800 -#define SCREEN_HEIGHT 500 - -//Game Object -typedef struct GameObject { - Rectangle rect; - Vector2 position; - float width; - bool passed; -} GameObject; - -int main() { - // Window Setup - InitWindow(SCREEN_WIDTH, SCREEN_HEIGHT, "Flappy Bird No Graphics or Sound"); - SetTargetFPS(60); - - int score = 0; - int highScore = 0; - bool gameOver = false; - - float birdX = 130; - float birdY = 8; - float birdVelocity = 0; - const float gravity = 0.4f; - const float jumpStrength = -5.8f; - const float birdSize = 32; - - // Initialize object positions - GameObject objects[MAX_OBJECTS]; - int objectSpacing = 300; - int startX = 800; - float objectSpeed = 3.5f; - - for (int i = 0; i < MAX_OBJECTS; i++) { - objects[i].position = (Vector2){ startX + i * objectSpacing, GetRandomValue(200, SCREEN_HEIGHT - 50) }; - objects[i].rect = (Rectangle){ objects[i].position.x, objects[i].position.y, 40, 40 }; - objects[i].width = 40; - objects[i].passed = false; - } - - // Colors - Color LightBlue = {208, 226, 237, 255}; - Color Green = {50, 123, 66, 255}; - - // Game Loop - while (!WindowShouldClose()) { - // Game logic - if (!gameOver) { - if (IsKeyPressed(KEY_SPACE)) { - birdVelocity = jumpStrength; - } - - birdVelocity += gravity; - birdY += birdVelocity; - - for (int i = 0; i < MAX_OBJECTS; i++) { - objects[i].position.x -= objectSpeed; - objects[i].rect.x = objects[i].position.x; - - if (objects[i].position.x + objects[i].width < 0) { - float farthestX = 0; - for (int j = 0; j < MAX_OBJECTS; j++) { - if (j != i && objects[j].position.x > farthestX) { - farthestX = objects[j].position.x; - } - } - objects[i].position.x = farthestX + objectSpacing; - objects[i].position.y = GetRandomValue(200, SCREEN_HEIGHT - 50); - objects[i].rect.x = objects[i].position.x; - objects[i].rect.y = objects[i].position.y; - objects[i].passed = false; - } - - if (!objects[i].passed && birdX > objects[i].position.x + objects[i].width) { - score++; - objects[i].passed = true; - } - - Rectangle birdRect = { birdX, birdY, birdSize, birdSize }; - if (CheckCollisionRecs(birdRect, objects[i].rect)) { - gameOver = true; - } - } - - if (birdY < 0 || birdY + birdSize > SCREEN_HEIGHT - 13) { - gameOver = true; - } - } else { - if (IsKeyPressed(KEY_ENTER)) { - // Restart - birdY = 8; - birdVelocity = 0; - score = 0; - gameOver = false; - - for (int i = 0; i < MAX_OBJECTS; i++) { - objects[i].position = (Vector2){ startX + i * objectSpacing, GetRandomValue(200, SCREEN_HEIGHT - 50) }; - objects[i].rect = (Rectangle){ objects[i].position.x, objects[i].position.y, 40, 40 }; - objects[i].passed = false; - } - } - } - - if (score > highScore) highScore = score; - - // Drawing - BeginDrawing(); - ClearBackground(LightBlue); - - // Ground - DrawRectangle(0, SCREEN_HEIGHT - 11, SCREEN_WIDTH, 16, Green); - - // Draw Bird - DrawRectangle(birdX, birdY, birdSize, birdSize, RED); - - // Draw Objects - for (int i = 0; i < MAX_OBJECTS; i++) { - DrawRectangleRec(objects[i].rect, DARKGRAY); - } - - // Text - DrawText("Flappy Bird", 10, 7, 24, BLACK); - DrawText(TextFormat("SCORE: %d", score), 10, 40, 20, DARKBLUE); - DrawText(TextFormat("HIGH SCORE: %d", highScore), 10, 70, 20, MAROON); - - if (gameOver) { - DrawText("GAME OVER!", SCREEN_WIDTH / 2 - 100, SCREEN_HEIGHT / 2 - 40, 30, RED); - DrawText("Press [ENTER] to Restart", SCREEN_WIDTH / 2 - 120, SCREEN_HEIGHT / 2, 20, DARKGRAY); - } - - EndDrawing(); - } - - CloseWindow(); - return 0; -}