Tubes 1 of Algorithm and Data Structure (IF2110). A cooking simulator CLI based game made in C.
- 13521001 Angger Ilham Amanullah
- 13521005 Kelvin Rayhan Alkarim
- 13521010 Muhamad Salman Hakim Alfarisi
- 13521019 Ditra Rizqa Amadia
- 13521023 Kenny Benaya Nathan
- 13521031 Fahrian Afdholi
- Configuration
- Custom configuration file for splash screen, map, foods, and recipe.
- Simulator
- Map visualization based on map configuration
- Player movement based on input
- Player inventory
- Time mechanism
- Food expiration
- Buy Foods
- Buy foods from the shop
- Delivery mechanism
- Chop Foods
- Chop foods from inventory
- Mix Foods
- Mix foods from inventory
- Fry Foods
- Fry foods from inventory
- Boil Foods
- Boil foods from inventory
- Utility
- Undo and redo
- Wait to skip time
- Foods catalog
- Show recipe
- Configuration
- Create your own map by editing
/config/map.txt
#
: Empty space
X
: Wall
S
: Player
T
: Telephone
C
: Chopping area
M
: Mixing area
F
: Frying area
B
: Boiling area - Create your own lists of foods by editing
/config/foods.txt
- Create your own recipe by editing
/config/recipe.txt
- Create your own map by editing
- Commands
MOVE NORTH
Move up.MOVE EAST
Move right.MOVE SOUTH
Move down.MOVE WEST
Move left.WAIT X Y
Wait X hour and Y minute, used to skip time without doing anything.BUY
Buy foods from the shop. The delivery time is vary. You can useWAIT X Y
to skip delivery time. Only available if player's position is adjacent to telephoneT
.CHOP
Chop foods from inventory. Only available if player's position is adjacent to chopping areaC
.MIX
Mix foods from inventory. Only available if player's position is adjacent to mixing areaM
.FRY
Fry foods from inventory. Only available if player's position is adjacent to frying areaF
.BOIL
Boil foods from inventory. Only available if player's position is adjacent to boiling areaB
.UNDO
UndoRedo
RedoEXIT
Exit game
.
├── config --------------------------------------- Configuration folder
│ ├── config.h
│ ├── konfigResep.txt
│ ├── makanan.txt
│ ├── map.txt
│ └── welcome.txt
├── src ------------------------------------------ Folder containing source files
│ ├── adt -------------------------------------- Data Types
│ │ ├── arrayChar ---------------------------- Array of Character
│ │ │ ├── arrayChar.c
│ │ │ └── arrayChar.h
│ │ ├── boolean ------------------------------ Boolean
│ │ │ └── boolean.h
│ │ ├── charmachine -------------------------- Character Machine
│ │ │ ├── charMachine.c
│ │ │ └── charMachine.h
│ │ ├── charmachinefood ---------------------- Char Machine of Food
│ │ │ ├── charMachine.c
│ │ │ └── charMachine.h
│ │ ├── charmachineresep --------------------- Char Machine of Recipe
│ │ │ ├── charMachine.c
│ │ │ └── charMachine.h
│ │ ├── delivery ----------------------------- Delivery
│ │ │ ├── delivery.c
│ │ │ └── delivery.c
│ │ ├── food --------------------------------- Character Machine
│ │ │ ├── food.c
│ │ │ └── food.h
│ │ ├── gameState ---------------------------- Game State
│ │ │ ├── gameState.c
│ │ │ └── gameState.h
│ │ ├── inventory --------------------------- Inventory
│ │ │ ├── inventory.c
│ │ │ │── inventory.h
│ │ ├── listdin ------------------------------ Dynamic List
│ │ │ ├── listdin.c
│ │ │ └── listdin.h
│ │ ├── liststatik --------------------------- Static List
│ │ │ ├── liststatik.c
│ │ │ └── liststatik.h
│ │ ├── map ---------------------------------- Map
│ │ │ └── map.c
│ │ ├── matrix ------------------------------- Matrix
│ │ │ ├── matrix.c
│ │ │ └── matrix.h
│ │ ├── matrixChar --------------------------- Matrix of Character
│ │ │ ├── matrixChar.c
│ │ │ └── matrixChar.h
│ │ ├── point -------------------------------- Point
│ │ │ ├── point.c
│ │ │ └── point.h
│ │ ├── queuelinked -------------------------- Queue Linked
│ │ │ ├── queuelinked.c
│ │ │ └── queuelinked.h
│ │ ├── stack -------------------------------- Stack
│ │ │ ├── stack.c
│ │ │ └── stack.h
│ │ ├── stackState --------------------------- Stack of Game State
│ │ │ ├── stackState.c
│ │ │ └── stackState.h
│ │ ├── string ------------------------------- String
│ │ │ ├── string.c
│ │ │ └── string.h
│ │ ├── time --------------------------------- Time
│ │ │ ├── time.c
│ │ │ └── time.h
│ │ ├── tree --------------------------------- Tree
│ │ │ ├── tree.c
│ │ │ └── tree.h
│ │ ├── wordmachine -------------------------- Word Machine
│ │ │ ├── wordmachine.c
│ │ │ └── wordmachine.h
│ │ ├── wordmachinefood ---------------------- Word Machine of Food
│ │ │ ├── wordmachine.c
│ │ │ └── wordmachine.h
│ │ └── wordmachineresep --------------------- Word Machine of Recipe
│ │ ├── wordmachine.c
│ │ └── wordmachine.h
│ └── app -------------------------------------- Applications
│ ├── Inisiasi ----------------------------- Main Menu App
│ │ └── splashScreen.c
│ ├── boil --------------------------------- Boil App
│ │ └── boil.c
│ ├── buy ---------------------------------- Buy App
│ │ └── buy.c
│ ├── catalog ------------------------------ Catalog App
│ │ └── catalog.c
│ ├── chop --------------------------------- Chop App
│ │ └── chop.c
│ ├── fry ---------------------------------- Fry App
│ │ └── fry.c
│ ├── mix ---------------------------------- Mix App
│ │ └── mix.c
│ ├── notifikasi --------------------------- Notifikasi App
│ │ └── notifikasi.c
│ └── simulator ---------------------------- Simulator App
│ └── simulator.c
├── BNMO Cooking Simulator.exe ------------------- Main Program
└── README.md
- Clone this repository
- Edit configuration file (optional) in
/config/*
- Run
BNMO Cooking Simulator.exe
- C