Saya membuat RPG teks kecil sebagai cara untuk berlatih python dan saya mengalami pertanyaan tentang cara memuat data. Gim ini adalah gim liar barat, meskipun itu tidak terlalu relevan, dan saya perlu menyimpan daftar senjata dan propertinya, serta daftar karakter, skenario, dll. Saya punya ide bagus tentang cara mewakili data ini sebagai kelas tapi saya tidak jelas tentang cara menyimpan dan memuat data.
Pertanyaan utama saya berkisar pada hubungan antara data dan kelas. Saya telah membaca beberapa posting di sini di SE dan banyak dari mereka berhubungan dengan penyimpanan, jadi saya punya beberapa informasi bagus di sana.
Kapan saya harus memuat data itu? Misalnya, pemain memilih dari beberapa senjata saat permainan dimulai. Haruskah saya memuat semua senjata dan instantiate semua objek senjata pada saat itu? Haruskah kelas senjata memiliki kemampuan untuk menunjukkan senjata dari database tanpa membuat instance mereka?
Terima kasih atas bantuannya.
sumber
obj->setWeaponType(WEAPON_TYPE_SHOTGUN)
atau apa pun, dan senjata mengkonfigurasi sendiri dengan tepat. Metrik kinerja senjata mungkin menggunakan nilai-nilai tipe sebagai baseline tetapi memungkinkan hasil akhir untuk dimodifikasi oleh instance. Hal semacam itu.Muat semuanya di awal. Jangan menyulitkan program Anda dengan memisahkan data antara memori dan disk kecuali Anda harus (mis. Ketika ada terlalu banyak untuk disimpan dalam memori sekaligus).
Yang penting adalah untuk memahami perbedaan antara data yang mewakili contoh item dan data yang mewakili jenis item. Secara umum beberapa contoh dari mantan berbagi satu contoh umum yang terakhir.
sumber
Saya tidak begitu terbiasa dengan python. Saran umum yang akan saya berikan adalah membuatnya sederhana. Anda mengatakan bahwa Anda sudah mendapatkan ide tentang cara merepresentasikan data. Jika Anda mendapatkan beberapa kelas untuk data yang ingin Anda simpan, Anda bisa menyimpannya dalam daftar. Daftar itu kemudian dapat diserialisasi ke disk onSave dan deserialized onLoad. Untuk implementasi pertama dan jika datanya tidak sebesar itu, saya akan memuat semuanya pada awal permainan dan menyimpannya pada waktu tertentu.
sumber
Anda bisa menggunakan SQLite . Menggunakan SQLite, Anda dapat membuat database di memori dan di hard drive, dan Anda tidak perlu DBMS raksasa seperti MySQL yang diinstal.
sumber