Premis Proyek

Memahami dunia dan tujuan utama dari game simulasi Star-Trader.

Latar Belakang Cerita

Selamat datang, Kapten! Di abad ke-25, Anda adalah seorang pilot muda yang memulai karir sebagai pedagang independen dengan kapal kargo tua, "The Rusty Comet". Tujuan Anda adalah membangun imperium perdagangan, menavigasi politik antarplanet, menghindari bajak laut, dan memanfaatkan setiap peluang pasar. Untuk berhasil, Anda harus merancang dan membangun jantung digital dari operasi Anda: **Sistem Manajemen Star-Trader**.

Alur Permainan Inti

  1. Memulai permainan dengan kredit dan kapal dasar.
  2. Menjelajahi galaksi, bepergian antar planet.
  3. Melakukan jual beli komoditas untuk mencari keuntungan.
  4. Mengunjungi bengkel untuk mengisi bahan bakar dan upgrade kapal.
  5. Menyelesaikan misi untuk mendapatkan hadiah tambahan.
  6. Tujuan akhir: Menjadi pedagang terkaya di galaksi.

Cetak Biru Proyek

Struktur file, data eksternal, dan visualisasi komposisi proyek.

Struktur File & Data

Proyek ini dirancang secara modular untuk kemudahan pengembangan. Data game dimuat dari file eksternal untuk fleksibilitas.

Struktur File Kode

  • main.cpp
  • player.h/.cpp
  • ship.h/.cpp
  • galaxy.h/.cpp
  • market.h/.cpp
  • mission.h/.cpp
  • utility.h/.cpp

File Data Eksternal

  • planets.csv
  • goods.csv
  • missions.csv
  • save_data/nama_pemain.txt

Contoh Struktur `save_data/StarLord.txt`

StarLord // Baris 1: Nama Kapten 15000 // Baris 2: Kredit The Rusty Comet // Baris 3: Nama Kapal 100 // Baris 4: Bahan Bakar Saat Ini 100 // Baris 5: Bahan Bakar Maksimum 25 // Baris 6: Kargo Maksimum 2 // Baris 7: Jumlah jenis barang di kargo Titanium;10 // Baris 8: Barang 1;jumlah Alga Medis;5 // Baris 9: Barang 2;jumlah 3 // Baris 10: ID Planet Lokasi Saat Ini 1 // Baris 11: ID Misi Aktif (0 jika tidak ada)

Komposisi File Proyek

Visualisasi perbandingan jumlah file berdasarkan tipenya dalam proyek.

Konsol Perintah

Jelajahi setiap fungsi yang tersedia dalam game. Klik untuk melihat detail.

Spesifikasi Teknis

Aturan dan batasan yang harus diikuti selama pengembangan.

  • 1.

    Bahasa: C++.

  • 2.

    Paradigma: Wajib **prosedural**. Gunakan `struct` untuk data, tapi semua logika harus dalam bentuk fungsi. **Dilarang menggunakan `class` dan OOP**.

  • 3.

    Library: Hanya boleh `iostream`, `fstream`, `string`, `vector`, dan library C standar. Konfirmasi ke asisten jika butuh library lain.

  • 4.

    Kompilasi: Program harus bisa dikompilasi dan dijalankan di lingkungan Linux/WSL menggunakan `makefile`.

  • 5.

    Modularitas: Kode harus dipecah ke dalam beberapa file `.h` dan `.cpp` sesuai rekomendasi.

  • !

    PENTING: Dilarang menggunakan fungsi parsing bawaan seperti `strtok` atau `sscanf`. Buat parser CSV kustom.