Github Repository:
https://github.com/cadevue/dinner-bash-dsa
Project Description
A CLI program implemented in C about a cooking management game! Player can move inside a map and interact with the environment, such as buying ingredients and cooking food. This game has no win condition. This is just simulation that focus on implementation of basic data structure and algorithm, such as:
- Static List to store game configurations, such as foods and its recipes (loaded in the beginning of the game).
- Matrix to store the map of the game.
- Priority Queue (in dynamic manner with linked list) to store the player’s inventory based on expiration date, and delivery queue based on its arrival time.
- Tree to store the recipes of the food.
- Stack to store the player’s action history, with undo and redo feature.
- Map for algorithms in the game, such as checking whether the ingredients are available to cook a certain food.
All data structures are implemented from scratch, without using library!
Technology Used
The technologies used in this project are:
- C language for the game implementation
- CMake for the build system
- GCC as the compiler
How to Run
Prerequisites
- GCC Compiler
- CMake
- Makefiles
Windows
- Navigate to the project directory
- Run
.\scripts\build.bat
to compile the program. - Run
.\scripts\run.bat
to run the program.
Other Operating System (Manual Build)
- Navigate to the project directory
- Make build directory:
mkdir build
, then navigate to build directorycd build
- Run
cmake ..
to generate the makefiles - Run
make
to compile the program
* If the build fails, you might have to specify the Makefiles generator (-G). More about it in CMake Documentation
Screenshots
Here are some screenshots of the dinner bash!