cadevue

カデュエ

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

  1.  Navigate to the project directory
  2.  Run .\scripts\build.bat to compile the program.
  3.  Run .\scripts\run.bat to run the program.

Other Operating System (Manual Build)

  1.  Navigate to the project directory
  2.  Make build directory: mkdir build, then navigate to build directory cd build
  3.  Run cmake .. to generate the makefiles
  4.  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!

Splash Screen

Screenshot of Dinner Bash - Splash Screen

Main Gameplay

Screenshot of Dinner Bash - Main Gameplay

Logs in Screen

Screenshot of Dinner Bash - Logs

Delivery Queue

Screenshot of Dinner Bash - Delivery Queue