Skip to content
 
 

Latest commit

 

History

103 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Review Assignment Due Date

Nimonspoli

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

Contributors

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

Fitur Utama

  • 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

Arsitektur Singkat

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.

Struktur Folder Penting

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

Requirements

Wajib

  • C++17 compatible compiler (contoh: g++)
  • make

Untuk GUI Mode

  • raylib

Linux biasanya membutuhkan:

  • libraylib-dev
  • OpenGL/X11 related libs

Pada makefile, dependency GUI Linux sudah di-handle lewat pkg-config raylib (jika tersedia).

Cara Build

1) Build CLI

make all

Output binary:

  • bin/game

2) Build GUI

make gui

Output binary:

  • bin/game_gui

3) Clean

make clean

Cara Menjalankan

CLI

make run

Atau jalankan langsung:

./bin/game

GUI

make run-gui

Atau jalankan langsung:

./bin/game_gui

Alur Main (CLI)

Saat program dimulai:

  1. Input path direktori konfigurasi (contoh: config/)
  2. Pilih mode:
    • New Game
    • Load Game
  3. Ikuti prompt command sampai game selesai
  4. Gunakan fitur >HELP untuk mendapatkan list of commands.

Alur Main (GUI)

Saat GUI berjalan:

  1. Masuk Home Screen
  2. Pilih New Game atau Load Game
  3. Main dari Game Screen dengan tombol aksi yang tersedia
  4. Gunakan tombol SAVE untuk menyimpan game

About

if2010-pemrograman-berorientasi-objek-tugas-besar-1-if2010-oop2526-tubes1 created by GitHub Classroom

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages