/// <summary> /// 初期座標を設定する. /// </summary> /// <param name="position"></param> /// <param name="normalPieceMovements"></param> /// <param name="expansionPieceMovements"></param> public DefaultPiece(PublicDataType.IntegerVector2 position, Terminologies.PieceColor color, IPlayer owner, Terminologies.PieceName name, IExpandingMoveFieldChecker fieldChecker) { this.Name = name; this.Position = position; this.Color = color; this.Owner = owner; this.fieldChecker = fieldChecker; }
public Shaman(Terminologies.PieceColor color, PublicDataType.IntegerVector2 position, IPlayer owner, IExpandingMoveFieldChecker fieldChecker) : base(position, color, owner, Terminologies.PieceName.Shaman, fieldChecker) { normalPieceMovements = new PieceMovement[] { new PieceMovement(new PublicDataType.IntegerVector2(0, 1), 1), new PieceMovement(new PublicDataType.IntegerVector2(0, -1), 1), new PieceMovement(new PublicDataType.IntegerVector2(1, 0), -1), new PieceMovement(new PublicDataType.IntegerVector2(-1, 0), -1) }; expansionPieceMovements = new PieceMovement[] { new PieceMovement(new PublicDataType.IntegerVector2(0, 1), -1, true), new PieceMovement(new PublicDataType.IntegerVector2(0, -1), -1, true), new PieceMovement(new PublicDataType.IntegerVector2(1, 0), -1, true), new PieceMovement(new PublicDataType.IntegerVector2(-1, 0), -1, true), new PieceMovement(new PublicDataType.IntegerVector2(1, 1), -1, true), new PieceMovement(new PublicDataType.IntegerVector2(1, -1), -1, true), new PieceMovement(new PublicDataType.IntegerVector2(-1, 1), -1, true), new PieceMovement(new PublicDataType.IntegerVector2(-1, -1), -1, true) }; }
public Pawn(Terminologies.PieceColor color, PublicDataType.IntegerVector2 position, IPlayer owner, IExpandingMoveFieldChecker fieldChecker) : base(position, color, owner, Terminologies.PieceName.Pawn, fieldChecker) { normalPieceMovements = new PieceMovement[] { new PieceMovement(new PublicDataType.IntegerVector2(0, 1), 1) }; expansionPieceMovements = normalPieceMovements.Union(new PieceMovement[] { new PieceMovement(new PublicDataType.IntegerVector2(0, 1), 2), new PieceMovement(new PublicDataType.IntegerVector2(0, -1), 1), new PieceMovement(new PublicDataType.IntegerVector2(1, 0), 1), new PieceMovement(new PublicDataType.IntegerVector2(-1, 0), 1) }).ToArray(); }
public Chariot(Terminologies.PieceColor color, PublicDataType.IntegerVector2 position, IPlayer owner, IExpandingMoveFieldChecker fieldChecker) : base(position, color, owner, Terminologies.PieceName.Chariot, fieldChecker) { normalPieceMovements = new PieceMovement[] { new PieceMovement(new PublicDataType.IntegerVector2(2, 0), 1), new PieceMovement(new PublicDataType.IntegerVector2(-2, 0), 1), new PieceMovement(new PublicDataType.IntegerVector2(0, 2), 1), new PieceMovement(new PublicDataType.IntegerVector2(0, -2), -1), }; expansionPieceMovements = new PieceMovement[] { new PieceMovement(new PublicDataType.IntegerVector2(2, 2), 1), new PieceMovement(new PublicDataType.IntegerVector2(-2, 2), 1), new PieceMovement(new PublicDataType.IntegerVector2(2, -2), 1), new PieceMovement(new PublicDataType.IntegerVector2(-2, -2), 1) }; }