Example #1
0
 public StartGameData(string loginQuery, string loginReply, GameColor colorQuery, ChessDirection directionQuery)
 {
     LoginQuery     = loginQuery;
     LoginReply     = loginReply;
     ColorQuery     = colorQuery;
     DirectionQuery = directionQuery;
 }
Example #2
0
        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)
                    );
            }
        }
Example #3
0
        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);
        }
Example #4
0
        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;
            }
        }
Example #5
0
 public Player(string name, GameColor color, ChessDirection direction)
 {
     Name      = name;
     Color     = color;
     Direction = direction;
 }