Пример #1
0
        private void DrawSquare(Graphics g, Piece piece, int file, int rank, Rectangle squaresSpace)
        {
            var squareRect = GetSquareHitbox(file, rank, squaresSpace);
            var pieceRect  = GetSquareHitbox(file, rank, squaresSpace);

            if (MouseFrom.HasValue)
            {
                Position fromSquare = ConvertPointToSquare(MouseFrom.Value);
                if (fromSquare != null && (int)fromSquare.File == file && fromSquare.Rank == 8 - rank)
                {
                    int dx = LastMousePosition.X - MouseFrom.Value.X;
                    int dy = LastMousePosition.Y - MouseFrom.Value.Y;
                    pieceRect.X += dx;
                    pieceRect.Y += dy;
                }
            }

            bool isLightSquare = (file + rank) % 2 == 0;

            var squareImg =
                isLightSquare
                ? BoardImages.LightSquare
                : BoardImages.DarkSquare;

            g.DrawImage(squareImg, squareRect);

            if (piece != null)
            {
                var pieceImg = PieceImages.GetImageForPiece(piece);
                g.DrawImage(pieceImg, pieceRect);
            }
        }
Пример #2
0
 // get candidate image names for player and piece
 internal IList <string> GetImageNames(string player, string piece)
 {
     return(PieceImages.FirstOrDefault(i => i.Piece == piece && i.Player == player).Images);
 }