The Linux Ghost Hunting Simulator is a C and C++ based project developed to simulate a ghost hunting scenario, where multiple ghost hunters gather evidence to identify and banish a ghost. This project is designed to cover various essential computer science topics such as dynamic and static memory allocation, linked lists, and multi-threaded programming, providing an engaging way to apply these concepts.
Built in a Linux environment, the simulator allows users to take on the role of ghost hunters navigating through different rooms to find evidence. Each ghost hunter operates concurrently, using multi-threading techniques to interact within the environment and to communicate with other hunters. The game features a variety of ghosts and evidence types, adding complexity and challenge to the simulation.
Multi-Threaded Ghost Hunters: Each ghost hunter operates as a separate thread, allowing for concurrent operations within the environment. This provides a realistic simulation of multiple agents working towards a shared objective.
Dynamic and Static Memory Allocation: The project utilizes both dynamic and static memory allocation for managing different game components, providing a hands-on learning experience with memory management in C and C++.
Linked Lists for Inventory Management: The inventory of each ghost hunter is managed using linked lists, allowing for efficient addition, removal, and tracking of collected evidence.
Evidence Collection System: Ghost hunters can collect different types of evidence that contribute to identifying the ghost. The evidence types are randomly generated, providing a unique experience in every game.
Makefile for Building and Compilation: The project includes a Makefile for easy compilation and management of different source files, ensuring smooth build processes in the Linux environment.