BNMO is a robot game owned by Indra and Doni. Therefore, Indra asked for help from BNMO and Doni to help prepare this special dinner. However, there is a problem. BNMO doesn't know how to cook and Doni can't help with the preparations because of something else. BNMO cannot learn from youcub videos because BNMO is a computer so the easiest thing to do is to make a simulation program for BNMO to emulate. Therefore, Doni asks for your help to develop this simulation program.
BNMO is CLI (Command Line Interface) Game that we made using C language. This game includes a lot of data structure and also Abstract Data Types that we made ourself. Some of them are Stack, Priority Queue, Tree, and many more. The purpose of the game is to food cooking simulation from raw ingredients to dish.
- If you use Windows-based OS, you must install GNU Compiler (GCC) and set the PATH.
- If you use UNIX-based OS, you can compile the program directly (see instructions below).
- Clone this repository
- If you want to edit the configuration file, it is inside
adt/Config
folder - If you want to compile this program on Linux, type this inside your terminal
gcc main.c ./adt/Wordmachine/wordmachine.c ./adt/Charmachine/charmachine.c ./adt/Time/time.c ./adt/Point/point.c ./adt/Config/config.c ./adt/Prioqueue/prioqueue.c ./adt/Stack/stack.c ./adt/Notifikasi/notif.c ./adt/Commands/commands.c ./adt/Simulator/simulator.c ./adt/Matrix/matrix.c ./adt/Makanan/makanan.c ./adt/Tree/tree.c ./adt/Kulkas/kulkas.c ./adt/Tree/tree_ext.c ./adt/Set/set.c -o main -lm
After compiling, you can run the program by running the executable file. Type ./main
inside your terminal and have fun playing BNMO Cooking Game Simulator!
- Initiation (splash screen, START and EXIT command, all txt files configuration)
- Simulator
- Food
- Recipe
- Inventory
- Command to order food and Delivery
- Map
- Food Processing
- Time Mechanism
- Others: UNDO, REDO, CATALOG, COOKBOOK, HELP
- Command Parser, Validation, and Error Handling
- Notification
- Bonus: Refrigerator
- Bonus: Food processing time
- Bonus: Food recommendation
- Bonus: Auto BNMO
Nama | NIM | Workload management |
---|---|---|
Chiquita Ahsanunnisa | 13521129 | ADT Queue, Command Parser, Inisiasi (Splash Screen, Command START, Command EXIT), Notifikasi, Kulkas, Laporan |
Nathania Callista Djuanedi | 13521139 | ADT Sederhana (Time, Point, Makanan, Simulator), Makanan, Mekanisme Waktu, ADT Stack, Fitur UNDO/REDO, Waktu Pengolahan Makanan, Laporan |
Hanif Muhammad Zhafran | 13521157 | ADT Matriks, Peta, Laporan |
Ferindya Aulia Berlianty | 13521161 | ADT List Statik, ADT Mesin Karakter dan Mesin Kata, Laporan |
Zidane Firzatullah | 13521163 | ADT Tree, Rekomendasi Makanan, Laporan |
| README.md
| main
| main.c
|
└───doc
| Form_Asistensi.pdf
| IF2110_TB_02_H.pdf
| Notulensi_Rapat.pdf
| Progress_Milestone.pdf
|
└───.vscode
│ settings.json
│
└───adt
├───Charmachine
| charmachine.h
| charmachine.c
| charmachinedriver.c
|
|
├─── Commands
| commands.h
| commands.c
| commandsdriver.c
|
├─── Config
| config-r.txt
| config.c
| config.h
| configdriver.c
| configMakanan.txt
| configPeta.txt
|
|
├─── Kulkas
| kulkas.c
| kulkas.h
| driverkulkas.c
|
|
├─── Liststatik
| liststatik.c
| liststatik.h
| driver_liststatik.c
|
|
├─── Makanan
| makanan.c
| makanan.h
| makanandriver.c
|
|
├─── Matrix
| matrix.c
| matrix.h
| matrixdriver.c
|
|
├─── Notifikasi
| notif.c
| notif.h
|
|
├─── Point
| point.c
| point.h
| pointdriver.c
|
├─── Prioqueue
| prioqueue.c
| prioqueue.h
| prioqueuedriver.c
|
|
├─── Set
| set.c
| set.h
|
|
├─── Simulator
| simulator.c
| simulator.h
| simulatordriver.c
|
|
├─── Stack
| stack.c
| stack.h
| stackdriver.c
|
|
├─── Time
| time.c
| time.h
| timedriver.c
|
|
├─── Tree
| tree_ext.c
| tree.c
| tree.h
| treedriver.c
|
|
├─── Wordmachine
| wordmachine.c
| wordmachine.h
| wordmachinedriver.c
|
|
│ boolean.h
| objectU.h
```