Пример #1
0
 public void AddKoma(Basho masu, RO_Star_Koma koma)// Ks14 komaSyurui
 {
     if (Util_MasuNum.OnShogiban((int)masu.MasuNumber))
     {
         this.ban81.Add(masu, koma);
     }
     else if (Util_MasuNum.OnSenteKomadai((int)masu.MasuNumber))
     {
         if (this.motiBlack.ContainsKey(koma.Syurui))
         {
             this.motiBlack[koma.Syurui] = this.motiBlack[koma.Syurui];
         }
         else
         {
             this.motiBlack.Add(koma.Syurui, 0);
         }
     }
     else if (Util_MasuNum.OnGoteKomadai((int)masu.MasuNumber))
     {
         if (this.motiWhite.ContainsKey(koma.Syurui))
         {
             this.motiWhite[koma.Syurui] = this.motiWhite[koma.Syurui];
         }
         else
         {
             this.motiWhite.Add(koma.Syurui, 0);
         }
     }
 }
Пример #2
0
        private void AddKoma(SyElement masu, RO_Star_Koma koma)// Ks14 komaSyurui
        {
            Debug.Assert(!this.BanObject201.ContainsKey(Util_Masu.AsMasuNumber(masu)), "既に駒がある枡に、駒を置こうとしています。[" + Util_Masu.AsMasuNumber(masu) + "]");


            this.BanObject201.Add(Util_Masu.AsMasuNumber(masu), koma);

            if (Util_MasuNum.OnShogiban(Util_Masu.AsMasuNumber(masu)))
            {
                // 盤上

                // 特にカウントはなし
            }
            else if (Util_MasuNum.OnSenteKomadai(Util_Masu.AsMasuNumber(masu)))
            {
                // 先手駒台
                switch (koma.Syurui)
                {
                case PieceType.P:
                    this.moti1P++;
                    break;

                case PieceType.L:
                    this.moti1L++;
                    break;

                case PieceType.N:
                    this.moti1N++;
                    break;

                case PieceType.S:
                    this.moti1S++;
                    break;

                case PieceType.G:
                    this.moti1G++;
                    break;

                case PieceType.K:
                    this.moti1K++;
                    break;

                case PieceType.R:
                    this.moti1R++;
                    break;

                case PieceType.B:
                    this.moti1B++;
                    break;
                }
            }
            else if (Util_MasuNum.OnGoteKomadai(Util_Masu.AsMasuNumber(masu)))
            {
                // 後手駒台
                switch (koma.Syurui)
                {
                case PieceType.P:
                    this.moti2p++;
                    break;

                case PieceType.L:
                    this.moti2l++;
                    break;

                case PieceType.N:
                    this.moti2n++;
                    break;

                case PieceType.S:
                    this.moti2s++;
                    break;

                case PieceType.G:
                    this.moti2g++;
                    break;

                case PieceType.K:
                    this.moti2k++;
                    break;

                case PieceType.R:
                    this.moti2r++;
                    break;

                case PieceType.B:
                    this.moti2b++;
                    break;
                }
            }
            else
            {
                // 駒袋
                switch (koma.Syurui)
                {
                case PieceType.P:
                    this.fukuroP++;
                    break;

                case PieceType.L:
                    this.fukuroL++;
                    break;

                case PieceType.N:
                    this.fukuroN++;
                    break;

                case PieceType.S:
                    this.fukuroS++;
                    break;

                case PieceType.G:
                    this.fukuroG++;
                    break;

                case PieceType.K:
                    this.fukuroK++;
                    break;

                case PieceType.R:
                    this.fukuroR++;
                    break;

                case PieceType.B:
                    this.fukuroB++;
                    break;
                }
            }
        }