public StartGameData(string loginQuery, string loginReply, GameColor colorQuery, ChessDirection directionQuery) { LoginQuery = loginQuery; LoginReply = loginReply; ColorQuery = colorQuery; DirectionQuery = directionQuery; }
private void DrawCoords(Graphics g, ChessDirection direction) { for (int i = 0; i < 8; ++i) { int textNumer = i + 1; if (direction == ChessDirection.Down) { textNumer = 9 - textNumer; } g.DrawString( textNumer.ToString() , font , Brushes.Black , (indent * 0.2F) , indent + (cellSize.Height * i) + (cellSize.Height / 2) - (font.Height / 2) ); g.DrawString( char.ConvertFromUtf32('A' + i) , font , Brushes.Black , indent + (cellSize.Width * i) + (cellSize.Width * 0.3F) , (indent / 2) - (font.Height / 2) ); } }
private List <Coordinate> GetBlockableTiles(ChessPiece attacker, ChessPiece target) { var tiles = new List <Coordinate>(); if (attacker.Piece.EqualsAny(ChessRank.Pawn, ChessRank.Knight, ChessRank.King)) { return(tiles); } ChessDirection direction = GetAttackDirection(attacker, target); Move(ref tiles, direction, attacker.Rank, attacker.File, false); return(tiles); }
private void Move(ref List <Coordinate> moves, ChessDirection direction, int x, int y, bool includeTarget = true) { switch (direction) { case ChessDirection.Northwest: MoveNorthWest(ref moves, x, y, includeTarget); break; case ChessDirection.North: MoveNorth(ref moves, x, y, includeTarget); break; case ChessDirection.Northeast: MoveNorthEast(ref moves, x, y, includeTarget); break; case ChessDirection.East: MoveEast(ref moves, x, y, includeTarget); break; case ChessDirection.Southeast: MoveSouthEast(ref moves, x, y, includeTarget); break; case ChessDirection.South: MoveSouth(ref moves, x, y, includeTarget); break; case ChessDirection.Southwest: MoveSouthWest(ref moves, x, y, includeTarget); break; case ChessDirection.West: MoveWest(ref moves, x, y, includeTarget); break; } }
public Player(string name, GameColor color, ChessDirection direction) { Name = name; Color = color; Direction = direction; }