Skip to content

Fitur 22426 - #25

Open
dzakwanmkpp wants to merge 9 commits into
mainfrom
fitur_22426
Open

Fitur 22426#25
dzakwanmkpp wants to merge 9 commits into
mainfrom
fitur_22426

Conversation

@dzakwanmkpp

Copy link
Copy Markdown

Deskripsi Singkat

Pull Request ini menyelesaikan implementasi tahap akhir untuk mekanik utama (core mechanics) dan navigasi CLI permainan Nimonspoli. Semua sistem telah dikembangkan dengan mematuhi prinsip Object-Oriented Programming (OOP), khususnya pemanfaatan Polymorphism dan pelestarian asas Tell, Don't Ask untuk menjaga keamanan data entitas.

Fitur & Modifikasi Utama

  • Fitur 1 (Visualisasi Papan): Implementasi hollow square 11x11 yang pixel-perfect beserta indikator posisi bidak pemain (CETAK_PAPAN).
  • Fitur 2 & 3 (Sistem Dadu): Integrasi pengocokan acak (LEMPAR_DADU) dan cheat/rigging manual (ATUR_DADU X Y) untuk kebutuhan testing. Termasuk logika hukuman Penjara jika mendapat dadu kembar (Double) 3 kali beruntun.
  • Fitur 4 (UI Mini Akta): Rendering UI Akta properti yang dinamis (CETAK_AKTA), didukung string padding/truncation aman agar border CLI tidak rusak.
  • Fitur 5 (Beli Otomatis & Sewa): Akuisisi interaktif dengan prompt (y/n) untuk jalanan (Street), dan akuisisi otomatis (gratis) untuk Utility/Railroad. Saldo sewa dipotong secara mandiri dan seamless saat mendarat.
  • Navigasi Bantuan: Penambahan command HELP untuk melihat daftar perintah.
  • Konfigurasi & Dokumentasi: Pemindahan mock data ke sistem pembacaan file dinamis (data/property.txt) dan penyusunan panduan compile/run di README.md.

Verifikasi & Testing

  • Manajemen memori dan alur perulangan giliran (Turn-based) berjalan mulus.
  • Input hazard tertangani dengan std::stringstream dan validasi tipe data (kebal dari Crash/Segmentation Fault).
  • Lolos simulasi Integration Testing End-to-End di terminal lokal (WSL).

ItsMeD4N and others added 9 commits April 21, 2026 16:23
implementation all class requirement, feature 1, feature 2
This commit wraps up the major milestone for the CLI Monopoly game:

- feat: Dynamic board config parsing from data/property.txt
- feat: Pixel-perfect 11x11 hollow square BoardView rendering
- feat: Dice logic (LEMPAR_DADU) & manual rigging (ATUR_DADU X Y)
- feat: 3x Double consecutive rolls send player to JAIL
- feat: Auto-deduct rent enforcement (Tell, Don't Ask principle)
- feat: Auto-acquire mechanics for Utility & Railroad properties
- feat: Detailed UI Deed rendering (CETAK_AKTA) with responsive padding
- feat: Add HELP navigation command
- docs: Add comprehensive project README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants