Saya mencoba menulis semacam permainan kartu perdagangan di sini, dalam beberapa hal, ini mirip dengan Magic The Gathering , atau Yu-Gi-Oh! permainan kartu.
Bagi Anda yang tidak terbiasa dengan hal itu, pada dasarnya, dalam permainan, ada jenis kartu khusus (kartu Eja / kartu Perangkap / dll.), Yang memiliki efek khusus yang dapat mengubah aturan permainan. Apa yang saya benar-benar tidak tahu adalah, bagaimana menerapkan logika kartu-kartu ini. Saya mempunyai ide untuk menyimpan data kartu dengan beberapa bendera yang dapat menandakan kemampuan seperti apa yang dimilikinya, tetapi itu akan sangat terbatas pada apa yang dapat dilakukannya (hanya beberapa modifikasi statistik sederhana, mungkin).
Untuk memberi Anda gambaran tentang efek apa yang dapat dimiliki kartu-kartu ini, berikut adalah beberapa contoh efek kartu mantra yang ada di Yu-Gi-Oh! permainan kartu:
- Bangkit kembali makhluk yang telah dihancurkan
- Kendalikan makhluk lawan
- Ubah statistik makhluk berdasarkan beberapa kondisi (mis. Jumlah makhluk dengan nama tertentu yang telah dihancurkan)
- Panggil khusus makhluk tertentu jika beberapa persyaratan terpenuhi.
- Fuse dua atau lebih makhluk menjadi makhluk yang lebih kuat.
- Kekebalan terhadap beberapa efek kartu khusus.
Konami telah membuat beberapa video game, lengkap dengan AI dan ribuan kartu. Saya pikir itu tidak mungkin untuk membuat seluruh kode dengan hard-code, bukan?
Sekarang, tentu saja apa yang saya coba lakukan adalah tidak ada yang serumit game-game itu, tetapi saya ingin tahu, bagaimana mereka mengimplementasikannya?
Tugas yang cukup sia-sia untuk mencoba menggabungkan semuanya dengan sakelar dan variabel saja. Anda harus memiliki fungsi kode keras atau, lebih mungkin, memiliki skrip yang Anda interpretasikan selama runtime. Anda akan mengekspos fungsi yang diperlukan untuk memeriksa status board dan deck dan kuburan ke skrip dan fungsi untuk mengeksekusi tindakan, dan sebagainya. Skrip kemudian hanyalah string sederhana untuk disimpan bersama dengan variabel lain yang terkait dengan kartu.
sumber
Saya juga merencanakan permainan kartu menggunakan bahasa web dengan mysql db. Saat ini saya akan membuat pengaturan yang sangat umum sehingga sangat fleksibel untuk kartu unik baru. Misalnya, bukannya:
bisa dengan mudah:
menerapkan konsep ini untuk semua tindakan akan menyederhanakan kelas, memungkinkan kartu baru dibuat dengan hanya menambahkan satu baris ke tabel kartu Anda.
Semua opsi dan kemampuan akan ditentukan dalam db dalam satu baris itu.
sumber