A full-stack, multi-threaded billiards game GUI that simulates realistic billiards physics in real-time. This project integrates optimized server-side algorithms, efficient memory allocation in C, and advanced database management in MySQL, applying OOP principles to enhance performance and realism.
- Real-Time Physics Modeling: Simulates realistic billiards physics, including collision detection, friction, and momentum transfer.
- Full-Stack Architecture: Backend implemented in C with efficient memory management and server-side processing.
- Advanced Database Management: Uses MySQL for managing game data, player scores, and statistics.
- Multi-Threading: Enhances game performance by handling multiple simultaneous tasks, such as physics calculations and user interactions.
- Cross-Platform GUI: Built using HTML, CSS, JavaScript, and jQuery for a responsive and interactive user interface.
- API Integration: Allows for communication between the front-end and back-end for real-time updates and data management.
- C: Core game logic and physics simulation.
- Python: Scripting for data processing and server management.
- Node.js: Server-side logic and API handling.
- MySQL: Database management for storing and retrieving game-related data.
- JavaScript & jQuery: Front-end scripting for dynamic content and user interactions.
- HTML & CSS: Structure and styling of the game interface.
To use the Billiards Physics Visualizer:
- Clone the repository.
- Install dependencies using
npm install
. - Set up the MySQL database.
- Compile the C code for the game logic.
- Run the application via
node server.js
and execute the game binary. - Open your browser and navigate to
http://localhost:3000
to start playing.
-
Clone the repository:
git clone https://github.com/yourusername/billiards-physics-visualizer.git cd billiards-physics-visualizer
npm install gcc -o billiards_game main.c -pthread node server.js ./billiards_game