Tugas Besar 1 IF2010 Pemrograman Berorientasi Objek.
Nimonspoli adalah game turn-based bertema Monopoly yang menyediakan dua mode:
- CLI mode untuk interaksi berbasis command
- GUI mode berbasis raylib untuk pengalaman visual interaktif
| Nama | NIM | Github |
|---|---|---|
| Kevin Wirya Valerian | 13524019 | kevin-wirya |
| Stevanus Agustaf Wongso | 13524020 | Nusss0 |
| Jonathan Kris Wicaksono | 13524023 | Joji0 |
| Emilio Justin | 13524043 | Valz0504 |
| Philipp Hamara | 13524101 | philipphqiwu |
- Gameplay Monopoly-style dengan tile properti, pajak, kartu, dan event
- Dukungan Human Player dan Bot Player
- Sistem kartu:
- Chance
- Community Chest
- Special Power Card
- Mekanisme ekonomi:
- Beli properti
- Bayar sewa
- Gadai dan tebus
- Lelang
- Pajak PPH/PBM
- Save/Load game state
- Event log transaksi dan aksi permainan
- GUI lengkap dengan:
- Animasi dadu
- Popup aksi
- Tab info pemain/aset/log
- Interaksi skill card
Desain kelas dipisah berdasarkan separation of concerns:
- Data/State layer:
- Player, Board, Tile dan turunannya
- Card dan turunannya
- Dice, LogEntry, GameConfig
- Service/Logic layer:
- Manager spesifik domain (Property, Rent, Tax, Card, Skill, Festival, Auction, dll)
- Orchestration layer:
- GameLoop sebagai pengendali alur utama
- CommandHandler dan BotController untuk eksekusi turn
Diagram Mermaid per modul tersedia di folder diagrams.
tugas-besar-1-ori/
├── src/ # implementasi C++
├── include/ # header C++
├── config/ # file konfigurasi board/rule
├── assets/ # aset GUI
├── save/ # save file game
├── docs/ # dokumentasi tambahan
└── makefile # script build CLI dan GUI
- C++17 compatible compiler (contoh: g++)
- make
- raylib
Linux biasanya membutuhkan:
- libraylib-dev
- OpenGL/X11 related libs
Pada makefile, dependency GUI Linux sudah di-handle lewat pkg-config raylib (jika tersedia).
make allOutput binary:
- bin/game
make guiOutput binary:
- bin/game_gui
make cleanmake runAtau jalankan langsung:
./bin/gamemake run-guiAtau jalankan langsung:
./bin/game_guiSaat program dimulai:
- Input path direktori konfigurasi (contoh: config/)
- Pilih mode:
- New Game
- Load Game
- Ikuti prompt command sampai game selesai
- Gunakan fitur >HELP untuk mendapatkan list of commands.
Saat GUI berjalan:
- Masuk Home Screen
- Pilih New Game atau Load Game
- Main dari Game Screen dengan tombol aksi yang tersedia
- Gunakan tombol SAVE untuk menyimpan game