示例#1
0
 /// <summary>
 /// FIXME:使ってない?
 /// </summary>
 /// <param name="masuNumber"></param>
 /// <param name="koma"></param>
 public void AddKoma(int masuNumber, RO_Star koma)
 {
     if (Conv_MasuHandle.OnShogiban(masuNumber))
     {
         this.ban81.Add(masuNumber, koma);
     }
     else if (Conv_MasuHandle.OnSenteKomadai(masuNumber))
     {
         if (this.motiBlack.ContainsKey(koma.Komasyurui))
         {
             this.motiBlack[koma.Komasyurui] = this.motiBlack[koma.Komasyurui];
         }
         else
         {
             this.motiBlack.Add(koma.Komasyurui, 0);
         }
     }
     else if (Conv_MasuHandle.OnGoteKomadai(masuNumber))
     {
         if (this.motiWhite.ContainsKey(koma.Komasyurui))
         {
             this.motiWhite[koma.Komasyurui] = this.motiWhite[koma.Komasyurui];
         }
         else
         {
             this.motiWhite.Add(koma.Komasyurui, 0);
         }
     }
 }
示例#2
0
        private void AddKoma(SyElement masu, RO_Star koma)// Ks14 komaSyurui
        {
            Debug.Assert(!this.BanObject201.ContainsKey(Conv_SyElement.ToMasuNumber(masu)), $"既に駒がある枡に、駒を置こうとしています。[{Conv_SyElement.ToMasuNumber(masu)}]");


            this.BanObject201.Add(Conv_SyElement.ToMasuNumber(masu), koma);

            if (Conv_MasuHandle.OnShogiban(Conv_SyElement.ToMasuNumber(masu)))
            {
                // 盤上

                // 特にカウントはなし
            }
            else if (Conv_MasuHandle.OnSenteKomadai(Conv_SyElement.ToMasuNumber(masu)))
            {
                // 先手駒台
                switch (koma.Komasyurui)
                {
                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 (Conv_MasuHandle.OnGoteKomadai(Conv_SyElement.ToMasuNumber(masu)))
            {
                // 後手駒台
                switch (koma.Komasyurui)
                {
                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.Komasyurui)
                {
                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;
                }
            }
        }