Harap dicatat: Saya tidak ingin bantuan pengkodean di sini, saya ada Programmers
karena suatu alasan. Saya ingin meningkatkan kemampuan perencanaan program / penulisan saya bukan (hanya) pemahaman saya tentang Java .
Saya mencoba mencari cara membuat pohon yang memiliki sistem kategori sewenang-wenang, berdasarkan keterampilan yang tercantum untuk permainan LARP ini di sini . Usaha saya sebelumnya memiliki bool untuk apakah skill juga kategori. Mencoba kode di sekitar yang berantakan. Menarik pohon saya, saya perhatikan bahwa hanya 'daun' saya yang memiliki keterampilan dan saya memberi label yang lain sebagai kategori.
Apa yang saya kejar adalah cara untuk membuat pohon yang mencoba memisahkan Model dan Tampilan, dan memungkinkan menambahkan tipe arbiter dari simpul anak (dengan cara terpisah diedit / dirender) ke orangtua yang sewenang-wenang.
NB Semuanya di sini dibeli sebagai keterampilan, bahkan di tempat yang tampaknya seperti properti. Pengguna Akhir akan melihat ini sebagai keterampilan membeli (yang mereka lakukan di atm kertas) sehingga harus disajikan seperti itu, semua di halaman yang sama.
Penjelasan pohon: Pohon itu 'lahir' dengan seperangkat kategori tingkat tinggi kode keras ( Senjata, Fisik dan Mental, Medis dan banyak lagi dll). Dari ini pengguna harus dapat menambahkan keterampilan. Pada akhirnya mereka ingin menambahkan skill 'Pedang Spesialisasi Satu Tangan' ( bukan item) misalnya. Untuk melakukannya Anda akan idealnya klik 'add' dengan Weapons
dipilih dan kemudian pilih One-handed
dari node combobox yang muncul pada anak itu, lalu klik tambahkan lagi dan masukkan nama dalam bidang teks pada yang node anak yang muncul. Kemudian klik tambahkan lagi untuk menambah / menentukan 'level' atau 'tingkat' untuk daun itu; kemahiran pertama, kemudian spesialisasi (misalnya).
Tentu saja jika Anda ingin membeli keterampilan yang berbeda, itu adalah rute yang sama sekali berbeda dengan daun. Anda mungkin tidak memerlukan kotak kombo pada tingkat yang sama di bawah pohon seperti yang Anda lakukan dengan contoh senjata, dan memerlukan logika lain di belakangnya. Inilah yang saya mengalami kesulitan untuk mendapatkan kepala saya apalagi pemrograman; bagaimana membuat satu set kelas dan tidak menentukan urutan untuk melampirkannya, tetapi masih memiliki semuanya cocok.
Apa sistem yang baik untuk menggambarkan pohon semacam ini dalam kode? Semua contoh JTree lainnya yang saya lihat memiliki beberapa pola yang dapat diprediksi , dan milik saya tidak . Saya tidak ingin harus mengkode semua ini dalam 'literal', dengan daftar panjang jenis apa (kombo-kotak, bidang teks dll) dari simpul anak-anak harus diizinkan pada orang tua apa. Haruskah saya menggunakan kelas abstrak? Antarmuka?
Bagaimana saya bisa membuat sekelompok objek ini dapat diperluas ketika saya menambahkan keterampilan lain yang tidak tercantum di atas yang berperilaku berbeda?
Jika tidak ada sistem yang baik untuk digunakan, apakah ada proses yang baik untuk mengetahui bagaimana melakukan hal semacam ini?
Roda gigi di kepala saya berputar:
Saya selalu perlu:
- Periksa orang tua
- Berikan opsi berdasarkan induknya
Saya mulai berpikir karena kesamaan ini saya perlu semacam skill
kelas abstrak / antarmuka yang mendefinisikan / menguraikan metode umum untuk keterampilan dan kategori. Saya dapat (mudah-mudahan) memasukkan aturan dan opsi ke dalam basis data dan membaca dari sana. Pertanyaannya adalah saya pikir sekarang, antara metode abstrak atau antarmuka dan bagaimana cara mengimplementasikannya.