Пример #1
0
        public void Move(BoardPosition toPosition, bool doTransform)
        {
            if (doTransform && !KomaType.CanBeTransformed)
            {
                throw new InvalidProgramException("この駒は成ることができません.");
            }

            State = State.ToBoard(toPosition, doTransform);
        }
Пример #2
0
        public void Taken()
        {
            if (IsInHand)
            {
                throw new InvalidProgramException("持ち駒を取ることはできません.");
            }

            Player = Player.Opponent;
            State  = InHand.State;
        }
Пример #3
0
 public Koma(PlayerType player, KomaType komaType, IKomaState state)
 {
     Player   = player;
     KomaType = komaType;
     State    = state;
 }