diff --git a/Game b/Game
new file mode 100644
index 0000000..9f2590f
--- /dev/null
+++ b/Game
@@ -0,0 +1,89 @@
+#include <SDL2/SDL.h>
+#include <SDL2/SDL_image.h>
+#include <iostream>
+
+// Define constants
+const int SCREEN_WIDTH = 640;
+const int SCREEN_HEIGHT = 480;
+
+// Define game classes
+class Player {
+public:
+    float x, y, z;
+    float angleX, angleY;
+};
+
+class Bullet {
+public:
+    float x, y, z;
+    float velX, velY, velZ;
+};
+
+int main(int argc, char* argv[]) {
+    // Initialize SDL
+    SDL_Init(SDL_INIT_VIDEO);
+    SDL_Window* window = SDL_CreateWindow("3D Shooting Game", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN);
+    SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
+
+    // Create player and bullets
+    Player player;
+    Bullet bullets[100];
+    int numBullets = 0;
+
+    // Game loop
+    bool running = true;
+    while (running) {
+        // Handle events
+        SDL_Event event;
+        while (SDL_PollEvent(&event)) {
+            if (event.type == SDL_QUIT) {
+                running = false;
+            }
+            else if (event.type == SDL_MOUSEMOTION) {
+                player.angleX = event.motion.x;
+                player.angleY = event.motion.y;
+            }
+            else if (event.type == SDL_MOUSEBUTTONDOWN) {
+                // Shoot bullet
+                if (numBullets < 100) {
+                    bullets[numBullets].x = player.x;
+                    bullets[numBullets].y = player.y;
+                    bullets[numBullets].z = player.z;
+                    bullets[numBullets].velX = cos(player.angleX);
+                    bullets[numBullets].velY = sin(player.angleY);
+                    bullets[numBullets].velZ = 0;
+                    numBullets++;
+                }
+            }
+        }
+
+        // Update game state
+        for (int i = 0; i < numBullets; i++) {
+            bullets[i].x += bullets[i].velX;
+            bullets[i].y += bullets[i].velY;
+            bullets[i].z += bullets[i].velZ;
+        }
+
+        // Render graphics
+        SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
+        SDL_RenderClear(renderer);
+        // Draw player and bullets
+        SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);
+        SDL_RenderDrawPoint(renderer, player.x, player.y);
+        for (int i = 0; i < numBullets; i++) {
+            SDL_RenderDrawPoint(renderer, bullets[i].x, bullets[i].y);
+        }
+        SDL_RenderPresent(renderer);
+
+        // Cap frame rate
+        SDL_Delay(1000 / 60);
+    }
+
+    // Clean up
+    SDL_DestroyRenderer(renderer);
+    SDL_DestroyWindow(window);
+    SDL_Quit();
+
+    return 0;
+}
+```