Ben Player ve AI Oyuncular (AIBasicPlayer, AINormalPlayer ve AIHardPlayer) benim kart oyunu (cin tuhaf) için sınıf oluşturmak üzereyim. Söz konusu sınıfları oluşturmak için en iyi OOP veya Tasarım Desen yaklaşımı ne olurdu? Ben açık kaynak kart oyunu bazı kontrol ettiğimizde topladıkları yaklaşımlar şunlardır onların yaklaşımlarını karşılaştırmak:Kart Oyunu Oyuncu Sınıf cepten Tasarım
***Classes**
1. player class only
public class player{
}
public class AIPlayer{
}
2. base class player
public abstract class player{
}
public class HumanPlayer extends player{
}
public class APlayer extends player{
}
3. interface player
public interface IPlayer{
}
public class Player implements IPlayer{}
public class AIPlayer implements IPlayer{}
*** Methods**
takeTurn()
doDiscard()
doDraw() //pick from discard pile or deck
doKnock()
Yukarıda kodlarının kullanımını anlıyorum ama uygulamak veya uygulamak için hangisinin karar veremedi .OOP veya Tasarım Kalıbında yeniyim ve tavsiye ve kod örneğiniz çok büyük bir yardım olacaktır. oyuncu düzenli ve AI oyuncular her ikisi için tanımlanmış bazı işlevleri (ve veri) olacak çünkü
mantıklı. Farklı gücü olan AIPlayer için tasarım hakkında nasıl? AIBasicPlayer, AINormalPlayer ve AIHardPlayer gibi farklı bir AIPlayer var. Farklı güç veya algoritmalarla aynı yöntemlere sahip oldukları için hangi tasarım desenini kullanmalıyım? Örnek bir kod sağlayabilseydiniz çok memnun olurum. AIPlayer sınıfınızda bulunan – Zack
@Zack, nasıl oynandığını belirleyen bir AIBehavior bileşenini tanımlama satırlarında bir şeyler yapabilirsiniz. Bu şekilde, her bir zorluk için aynı AIPlayer sınıfını kullanabilir ve AIBehavior bileşenini gerektiği gibi güncelleyebilirsiniz. – SpartanDonut