This repository contains a concurrent programming project developed as part of the Concurrent Programming course. The application simulates a billiard table using a multi-layered architecture consisting of data management, logic processing, and a user interface built with WPF.
The program realistically models the behavior of billiard balls on a virtual table, demonstrating concurrent processing, collision detection, and synchronized data handling. It leverages structured separation into data, logic, and presentation layers to maintain clear, scalable, and testable code.
- Concurrent simulation of multiple billiard balls.
- Collision handling and realistic ball interactions.
- Clear separation into data, logic, and presentation layers.
- Comprehensive unit tests ensuring functionality.
- Programming Language: C#
- UI Framework: WPF (Windows Presentation Foundation)
- Concurrency: Tasks, Threads
- Testing Framework: NUnit
To run the simulation:
- Clone this repository.
- Open the solution (
TPW2024.sln) in Visual Studio. - Set
presentation_layeras the startup project and run.
- [Your Name]
This project is licensed under the MIT License. See the LICENSE file for details.