Pola desain apa yang dapat digunakan untuk membuat sistem aturan / validasi untuk permainan seperti catur (ini hanyalah contoh sederhana, permainan yang sebenarnya membutuhkan perangkat aturan yang lebih sulit)
Saya telah membaca beberapa pertanyaan di situs ini dan belum menemukan jawaban konklusif atau jawaban yang menunjukkan saya ke arah yang benar.
Sistem ini akan membutuhkan yang berikut:
- Setiap objek yang memiliki aturan yang diterapkan padanya harus mengimplementasikan antarmuka spesifik dengan metode yang merupakan titik awal untuk validasi
- Aturan harus diterapkan dalam 2 langkah: pertama, perlu divalidasi (dapat menggadaikan A pindah ke kuadrat D4), jika benar maka jalankan metode A jika salah maka jalankan metode B
- Setiap objek dapat memiliki beberapa aturan yang perlu diterapkan dalam urutan tertentu. Ketika aturan 1 selesai, aturan 2 kemudian harus mulai memvalidasi dll
- Setiap aturan yang terpisah (misalnya: hanya bisa bergerak 1 persegi, hanya bisa bergerak secara diagonal dll) harus di kelasnya sendiri dan harus dapat digunakan kembali dan diterapkan pada objek yang membutuhkan aturan.
- Perhatikan ini akan digunakan dalam game multipemain di backend
- Perhatikan bahwa setiap aturan memerlukan beberapa objek untuk menguji validitasnya, misalnya, biasanya pion dapat bergerak 1 persegi, sekarang sqaure berikutnya pada gameboard diisi oleh pion lawan Anda. Hasil: pion Anda tidak bisa bergerak. Pion harus menyertakan posisi pion lain, atau gameboard dalam validasinya.
Kata lain untuk aturan ini adalah batasan perilaku.