Temel olarak, bir oyun karakterinin saldırılarını kontrol eden, animasyon uzunluğuna dayalı zamanlamaları olan bir durum makinesine sahibim. Örneğin bu şekildeBüyük bir durum makinesini uygulamanın en iyi yolu?
:
varsayılan durumuna başlar ve oyuncu bir saldırı düğmesine basması durumunda bu durumu değiştirme ve saldırılar uzunluğuna dayalı bir saatini ayarlayan bir saldırı başlatır. Durum makinesi daha karmaşıklaşıyor, ancak iptal edilebilecek saldırı saldırılarını ele aldığımda, vurduklarına bağlı olarak farklı durumlara geçebilen saldırılar ve her devletin saldırıya uğrayan karakterle başa çıkmanın benzersiz yolları var. Şu anda büyük anahtar beyanlarım var. Polimorfizm hakkında düşünmüştüm ama bu her devlet için bir çok sınıfın (başlangıç saldırısı, saldırı ve hücum ataklarının hepsi ayrı ayrı devletler gerektiriyor) yeni bir sınıf gerektiriyordu.
Anahtar deyimi çalışır, ancak oldukça büyük ve aynı zamanda bir kalıtım tabanlı sistem olarak kolayca değiştirilemez.
İyi görünümlü uygulamalar hakkında herhangi bir öneriniz var mı?
DÜZENLEME: Bu java kullanıyor.
Şablon programlamada kullanıyorum, ancak şu anda java kullanıyorum, muhtemelen bundan bahsetmeliydim. – deek0146