예제 #1
0
        public bool LSeklindeGidebilirMi(Kare bulunduguKare, Kare gidecegiKare)
        {
            if (gidecegiKare.UzerindeBulunanTas == null ||
                (gidecegiKare.UzerindeBulunanTas != null && gidecegiKare.UzerindeBulunanTas.TasRengi != bulunduguKare.UzerindeBulunanTas.TasRengi))
            {
                if (gidecegiKare.KonumX == bulunduguKare.KonumX + 2 || gidecegiKare.KonumX == bulunduguKare.KonumX - 2)
                {
                    if (gidecegiKare.KonumY == bulunduguKare.KonumY - 1 || gidecegiKare.KonumY == bulunduguKare.KonumY + 1)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                else if (gidecegiKare.KonumX == bulunduguKare.KonumX + 1 || gidecegiKare.KonumX == bulunduguKare.KonumX - 1)
                {
                    if (gidecegiKare.KonumY == bulunduguKare.KonumY - 2 || gidecegiKare.KonumY == bulunduguKare.KonumY + 2)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            return(false);
        }
예제 #2
0
        public virtual bool Ye(Kare kare)
        {
            if (IlerleyebilirMi(kare))
            {
                Oyun.GetInstance().ElenenTaslar.Add(kare.UzerindeBulunanTas);
                this.bulunduguKare.UzerindeBulunanTas = null;
                this.bulunduguKare      = kare;
                kare.UzerindeBulunanTas = this;

                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #3
0
        public bool Ilerle(Kare gidecegiKare)
        {
            if (IlerleyebilirMi(gidecegiKare))
            {
                if (gidecegiKare.UzerindeBulunanTas != null)
                {
                    Oyun.GetInstance().ElenenTaslar.Add(gidecegiKare.UzerindeBulunanTas);
                }

                this.bulunduguKare.UzerindeBulunanTas = null;
                this.bulunduguKare = gidecegiKare;
                gidecegiKare.UzerindeBulunanTas = this;

                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #4
0
파일: At.cs 프로젝트: nsaltun/ChessGame
 public override bool IlerleyebilirMi(Kare gidecegiKare)
 {
     return(base.ruleManager.LSeklindeGidebilirMi(this.bulunduguKare, gidecegiKare));
 }
예제 #5
0
파일: At.cs 프로젝트: nsaltun/ChessGame
 public At(TakimRengi tasRengi, Kare bulunduguKare)
     : base(tasRengi, bulunduguKare)
 {
     this.bulunduguKare = bulunduguKare;
     this.tasRengi      = tasRengi;
 }
예제 #6
0
 public abstract bool IlerleyebilirMi(Kare gidecegiKare);
예제 #7
0
 public Tas(TakimRengi takimRengi, Kare bulunduguKare)
 {
     this.tasRengi      = takimRengi;
     this.bulunduguKare = bulunduguKare;
     this.ruleManager   = new BusinessRule();
 }