diff options
author | Karl Berry <karl@freefriends.org> | 2023-03-29 19:58:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-03-29 19:58:32 +0000 |
commit | a995526c1114d8fef2fe8b1f065e7a4a06750908 (patch) | |
tree | f7cbc03889c1aa53ae4a790c1f3db39ebf615efa /Master/texmf-dist | |
parent | aa0e5e6217c1d825b338e4f04b75a273a953520b (diff) |
mpchess (29mar23)
git-svn-id: svn://tug.org/texlive/trunk@66703 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
15 files changed, 1131 insertions, 1480 deletions
diff --git a/Master/texmf-dist/doc/metapost/mpchess/README.md b/Master/texmf-dist/doc/metapost/mpchess/README.md index f4a92473c06..a9505b99acf 100644 --- a/Master/texmf-dist/doc/metapost/mpchess/README.md +++ b/Master/texmf-dist/doc/metapost/mpchess/README.md @@ -1,4 +1,4 @@ -# mpchess +# MPchess This package allows you to draw chess boards and positions. The appearance of the drawings is modern and largely inspired by what is offered by the excellent @@ -30,7 +30,7 @@ MPchess consists of 7 files METAPOST : * `mpchess-pgn.mp`; * `mpchess-fen.mp`; * `mpchess-cburnett.mp`; -* `mpchess-staunty.mp`; +* `mpchess-mpchess.mp`; * `mpchess-skak.mp`. Once this is done, MPchess will be loaded with the classic @@ -52,4 +52,9 @@ used with LuaLaTeX and luamplib, `latexmp`. ## Documentation * [English documentation](doc/mpchess-doc-en.pdf) -* [Documentation en français](doc/mpchess-doc-fr.pdf)
\ No newline at end of file +* [Documentation en français](doc/mpchess-doc-fr.pdf) + +## Licenses + +This projet is under LATEX Project Public License 1.3c but the file +`mpchess-cburnett` is under GPLv2+ as asked by the author.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-en.pdf b/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-en.pdf Binary files differindex e33e5c228f0..d80fef96909 100644 --- a/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-en.pdf +++ b/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-en.pdf diff --git a/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-en.tex b/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-en.tex index fdf595c1993..dd8c516bab1 100644 --- a/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-en.tex +++ b/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-en.tex @@ -11,169 +11,10 @@ % without any invariant section or cover text. \documentclass[english]{ltxdoc} -\usepackage{tcolorbox} -\tcbuselibrary{listings,breakable} -%\tcbuselibrary{documentation} -\usepackage{enumitem} -\usepackage[tikz]{bclogo} -\usepackage{mflogo} -\usepackage{hologo} -\usepackage{luamplib} -\mplibtextextlabel{enable} -\usepackage{biblatex} -\addbibresource{ctan.bib} -\usepackage{wrapfig} -\usepackage{siunitx} -\usepackage{imakeidx} -\usepackage{fancyvrb,xparse,xargs} -\usepackage[sfdefault]{FiraSans} -\usepackage[mathrm=sym]{firamath-otf} -%\setmonofont{Fira Mono} -\setmonofont{FiraCode-Regular.ttf}[BoldFont= FiraCode-Bold.ttf,ItalicFont= FiraCode-RegularItalic.otf,BoldItalicFont= FiraCode-BoldItalic.otf,] - -\usepackage{xspace} -\usepackage{animate} -\usepackage[english]{babel} -\newcommand{\ctan}{\textsc{ctan}} -\NewDocumentCommand{\package}{ m }{% - \href{https://ctan.org/pkg/#1}{#1}\xspace -} -\definecolor{darkred}{rgb}{0.6,0.1,0.1} -\definecolor{vert}{rgb}{0.1,0.4,0.1} -\definecolor{bleu}{rgb}{0.2,0.2,0.6} -\definecolor{orange}{rgb}{0.6,0.4,0.} -\colorlet{code}{blue!80!black} - -\usepackage[colorlinks=true,urlcolor=orange,linkcolor=orange,menucolor=black,citecolor=orange]{hyperref} - -\newcommand \file {\nolinkurl} -\renewcommand \cmd {\texttt} -\renewcommand \code [1] {\texorpdfstring {\texttt{\color{code}#1}} {#1}} -\renewcommand*\cs [1] {\code{\textbackslash #1}} - - - -\newcommand*\commande{\par\bigskip\noindent\hspace{-30pt}% - \SaveVerb[aftersave={% - \UseVerb{Vitem}% - }% - ]{Vitem}% - } - \newcommand\vitem[1][]{\SaveVerb[% - aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}} -\newcommand*\textme[1]{\textcolor{black}{\rmfamily\textit{#1}}} -%\renewcommand*\meta[1]{% % meta -% \textme{\ensuremath{\langle}#1\ensuremath{\rangle}}} -\newcommand*\optstar{% % optional star - \meta{\ensuremath{*}}\xspace} -\DefineShortVerb{\|} -\newcommand\R{\mathbf{R}} -\setlength{\fboxsep}{2pt} -\fvset{% - codes={\catcode`\«\active \catcode`\×\active }, - defineactive={\makefancyog\makefancytimes}, - formatcom=\color{darkred}, - frame=single -} -% rendre «...» équivalent à \meta{...} -{\catcode`\«\active - \newcommandx\makefancyog[0][addprefix=\global]{% - \def«##1»{\meta{##1}}}} -% rendre × équivalent à \optstar -{\catcode`\×\active - \newcommandx\makefancytimes[0][addprefix=\global]{% - \def×{\optstar{}}}} - - -\newcommand\mpchess{\textbf{\textlogo{MP}}\textit{chess}\xspace} - - - -%\addbibresource{biblio.bib} - - -\lstset{ - numberstyle=\footnotesize\color{vert}, - keywordstyle=\ttfamily\bfseries\color{bleu}, - basicstyle=\ttfamily, - commentstyle=\itshape\color{vert}, - stringstyle=\ttfamily\color{orange}, - showstringspaces=false, - language=MetaPost, - breaklines=true, - breakindent=30pt, - defaultdialect=MetaPost, - classoffset=1,% frame=tb - morekeywords={init_backboard,set_backboard_width,set_backboard_size,set_color_theme,get_backboard_width,get_backboard_size,set_backboard_width,get_square_dim,set_white_color,set_black_color,set_coords_inside,set_coords_outside,set_coords_font,set_coords, - set_no_coords,set_white_view,set_black_view, - set_white_player,set_black_player,set_pieces_theme,set_players_side,init_chessboard,set_empty_chessboard,add_white_pieces,add_black_pieces,clear_areas,clear_files,clear_ranks,clear_squares,build_chessboard_from_fen,build_chessboards_from_pgn,clear_chessboard, - color_square,draw_arrows,draw_circles,draw_comment,draw_crosses,get_halfmove_number,get_totalmove_number, - reset_mpchess,set_black_to_move,set_last_move_color,set_comment_color,set_white_to_move,set_whos_to_move,show_last_move,unset_whos_to_move,set_arrow_width,clip_chessboard}, - keywordstyle=\color{darkred}, - classoffset=2,% frame=tb - morekeywords={backboard,chessboard,chessboard_step}, - keywordstyle=\color{vert}, - classoffset=0,% frame=tb - morekeywords={draw}, - keywordstyle=\color{bleu} -} - -\makeatletter -\tcbset{% - listing metapost/.code={% - \def\tcbuselistingtext@input{\begin{mplibcode} input \jobname.listing; \end{mplibcode}}% - } -} -\makeatother -\newtcblisting[auto counter,]{ExempleMP}[1][]{% - arc=0pt,outer arc=0pt, - colback=darkred!3, - colframe=darkred, - breakable,fontupper=\small, - boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = - 3pt, toptitle=3pt, - boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = - 0pt, bottomrule at break = 0pt, - listing side text, - listing metapost, - title=Exemple~\thetcbcounter, - listing options={breaklines},#1 -} - -\newtcblisting{commandshell}{colback=black,colupper=white,colframe=black, - arc=0pt, - listing only,boxsep=0pt,listing - options={style=tcblatex,language=sh}, - every listing line={\textcolor{red}{\small\ttfamily\bfseries user \$> }}} - - - \newtcblisting{mpcode}{ - arc=0pt,outer arc=0pt, - colback=darkred!3, - colframe=darkred, - breakable, - boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = - 3pt, toptitle=3pt, - boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = - 0pt, bottomrule at break = 0pt, - listing only,boxsep=0pt,listing - options={breaklines} -} - -\newtcblisting{latexcode}{ - arc=0pt,outer arc=0pt, - colback=darkred!3, - colframe=darkred, - breakable, - boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = - 3pt, toptitle=3pt, - boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = - 0pt, bottomrule at break = 0pt, - listing only,boxsep=0pt,listing - options={breaklines,language={[LaTeX]TeX}} -} +\input{mpchess-preamble} +\usepackage[english]{babel} \makeindex[title=Command Index, columns=2] @@ -227,7 +68,7 @@ } \vfill \begin{center} - Version 0.1, 2023, March, 23th \\ + Version 0.2, 2023, March, 28th \\ \url{https://plmlab.math.cnrs.fr/mchupin/mpchess} \end{center} %% == Page de garde ==================================================== @@ -295,7 +136,7 @@ Then, you will have to place the \lstinline+.mp+ files in the \item \verb+mpchess-pgn.mp+; \item \verb+mpchess-fen.mp+; \item \verb+mpchess-cburnett.mp+; - \item \verb+mpchess-staunty.mp+; + \item \verb+mpchess-pieces.mp+; \item \verb+mpchess-skak.mp+. \end{itemize} @@ -320,20 +161,6 @@ These two systems are unknown to the author of \mpchess, so we refer to their do \mpchess is not used with \hologo{LuaLaTeX} and \package{luamplib}, \package{latexmp}. -\subsection{Use with \hologo{LuaLaTeX} and \package{luamplib}} - -It is possible to use \mpchess directly in a \LaTeX{} file with -\hologo{LuaLaTeX} and the package \package{luamplib}. This is what is done to -write this documentation. - -For certain functionalities, \mpchess uses the \MP{} operator -\lstinline+infont+. Thus, in order for the content of these features to be composed in the current font of the document, one must add the command : -\begin{latexcode} -\mplibtextextlabel{enable} -\end{latexcode} - -For more details on these mechanisms, we refer to the documentation of the -package \package{luamplib}~\cite{ctan-luamplib}. \section{Why this package and general philosophy} @@ -637,8 +464,8 @@ To choose the theme we will use the following command. \begin{itemize} \item \lstinline+"cburnett"+ (default), to get the Lichess \emph{cburnett} pieces set; -\item \lstinline+"staunty"+, to get the Lichess \emph{staunty} -pieces set; +\item \lstinline+"mpchess"+, to get the set specially designed for this +package; \item \lstinline+"skak"+, to get the \package{skak} pieces set. \end{itemize} @@ -650,7 +477,7 @@ The table~\ref{tab:pieces} shows the result of the three sets of pieces. \centering \begin{tabular}{cc} -\lstinline+cburnett+ theme&\lstinline+staunty+ theme\\ +\lstinline+cburnett+ theme&\lstinline+mpchess+ theme\\ \begin{mplibcode} input mpchess beginfig(0); @@ -668,7 +495,7 @@ The table~\ref{tab:pieces} shows the result of the three sets of pieces. beginfig(0); init_chessboard; set_backboard_width(4cm); - set_pieces_theme("staunty"); + set_pieces_theme("mpchess"); unset_whos_to_move; init_backboard; draw backboard; @@ -858,10 +685,35 @@ endfig; \end{ExempleMP} +It is also possible to read an external file containing on the first line a +string in the format \textsc{fen} with the following command. + +\commande|build_chessboard_from_fen_file(«string»)|\index{build_chessboard_from_fen_file@\lstinline+build_chessboard_from_fen_file+}\smallskip + +\begin{description} + \item[\meta{string}:] is a string of characters (between double quotes) + indicating the name of the file to read. +\end{description} + + +\begin{ExempleMP} +input mpchess; +beginfig(0); +init_backboard; +draw backboard; +build_chessboard_from_fen_file("test.fen"); +draw chessboard; +endfig; +\end{ExempleMP} + \subsection{Reading data in \textsc{pgn} format} -\mpchess also makes it possible to read a string in the \textsc{pgn} -format. +\mpchess also allows to read a string in the format \textsc{pgn}. +Attention, this is a partial management of the format, in particular \mpchess +does not manage the \emph{tags} of the format. In reality, \mpchess only handles +the string describing the moves played. In the same way, the accepted format + by \mpchess does not allow variants or comments. + When such a functionality is used, \mpchess stores all the intermediate positions and thus allows to represent them. @@ -869,7 +721,6 @@ To construct the positions, we use the following command. \commande|build_chessboards_from_pgn(«string»)|\index{build_chessboards_from_pgn@\lstinline+build_chessboards_from_pgn+}\smallskip -The \textsc{pgn} format accepted is a simplified one which does not accept variants or comments. Once the positions are built, we can represent them with the following command. @@ -895,6 +746,26 @@ draw chessboard_step(3); % Nf3 endfig; \end{ExempleMP} + +It is also possible to read an external file containing on the first line a +string in the format \textsc{pgn} with the following command. + +\commande|build_chessboard_from_pgn_file(«string»)|\index{build_chessboard_from_pgn_file@\lstinline+build_chessboard_from_pgn_file+}\smallskip + +\begin{description} + \item[\meta{string}:] is a string of characters (between double quotes) + indicating the name of the file to read. +\end{description} + +\begin{ExempleMP} +input mpchess; +build_chessboards_from_pgn_file("test.pgn"); +beginfig(0); +init_backboard; +draw backboard; +draw chessboard_step(4); % Nc6 +endfig; +\end{ExempleMP} \subsubsection{Show last move} The last move can be displayed automatically with the following command. @@ -1125,6 +996,52 @@ following command. \commande|set_comment_color(«color»)|\index{set_comment_color@\lstinline+set_comment_color+}\smallskip +\subsection{Main Lines} + +\mpchess provides a command to display the arrows of the moves of the +main lines of analysis. There are commands for both colors. + +\commande|draw_white_main_lines(«move1»,«move2»,etc.)|\index{draw_white_main_lines@\lstinline+draw_white_main_lines+}\smallskip + +\commande|draw_black_main_lines(«move1»,«move2»,etc.)|\index{draw_black_main_lines@\lstinline+draw_black_main_lines+}\smallskip + +\begin{description} + \item[\meta{move1}, \meta{move2}, etc.:] are the moves to be illustrated using +\textsc{pgn} notation. +\end{description} + +When using the format \textsc{pgn} for the construction of the positions to be +to be displayed, the following commands can be used +to specify which move of the game is being commented on. + +\commande|draw_white_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_white_main_lines_step@\lstinline+draw_white_main_lines_step+}\smallskip + +\commande|draw_black_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_black_main_lines_step@\lstinline+draw_black_main_lines_step+}\smallskip + +\begin{description} +\item[\meta{step}:] is the step of the game you want to annote; +\item[\meta{move1}, \meta{move2}, etc.:] are the moves to be illustrated using +\textsc{pgn} notation. +\end{description} + +The following example illustrates the use of this command. +\begin{ExempleMP} +input mpchess +string pgnstr; +pgnstr:="1. e4 d5"; +build_chessboards_from_pgn(pgnstr); +beginfig(0); +init_backboard; +draw backboard; +draw chessboard_step(2); +draw_white_main_lines_step(2)("exd5","e5","Nc3"); +endfig; +\end{ExempleMP} + +To change the color (by default \lstinline+0.3[_blackColorSquare,black]+), +we will use the following command. + +\commande|set_main_lines_color(«color»)|\index{set_main_lines_color@\lstinline+set_main_lines_color+}\smallskip \section{Miscellaneous} @@ -1174,6 +1091,127 @@ clip_chessboard("e1-g4"); endfig; \end{ExempleMP} + +\section{Use with \LaTeX{}} + +\subsection{Use with \hologo{pdfLaTeX} or \hologo{XeLaTeX}} + +There are several ways to include the images produced by \mpchess in a \LaTeX +document. The first is to generate pdf files with \MP{} and then to include them +with \lstinline[language=TeX]+\includegraphics+. This solution works with all +engines. + +You can also use the packages \package{gmp} or \package{mpgraphics} with +\hologo{pdfLaTeX} or \hologo{XeLaTeX}\footnote{We would like to thank Quark67 +for the questions and advice}. + +\subsubsection{With \package{mpgraphics}} + +With \package{mpgraphics}~\cite{ctan-mpgraphics}, we load \mpchess with the +\lstinline+mpdefs+ environment and we can produce images with \MP{} +code but without using \lstinline+beginfig+ and \lstinline+endfig+, +the code to generate a figure is in the \lstinline+mpdisplay+ environment. It will be necessary to use the option \lstinline+-shell-escape+ option when compiling the \LaTeX document. + +Here is a complete example of illustration. + +\begin{latexcode} +\documentclass{article} +\usepackage{mpgraphics} +\begin{document} +\begin{mpdefs} +input mpchess +\end{mpdefs} +\begin{mpdisplay} +init_backboard; +draw backboard; +init_chessboard; +draw chessboard; +draw_arrows(red)("e7--e5","g1|-f3"); +\end{mpdisplay} +\end{figure} +\end{document} +\end{latexcode} + +\subsubsection{With \package{gmp}} + +The use of \package{gmp}~\cite{ctan-gmp} is quite similar to that of +\package{mpgraphics}. Some commands are different, but as with +\package{mpgraphics}, we do not use \lstinline+beginfig+ and +\lstinline+endfig+. The loading of \mpchess can be done when loading the +package, and the \MP{} code is in a \lstinline+mpost+ environment. Here again +it will be necessary to compile the \LaTeX{} document with the +\lstinline+-shell-escape+ option. + + + +Here is a complete example of illustration. + + +\begin{latexcode} +\documentclass{article} +\usepackage[shellescape, everymp={input mpchess;}]{gmp} + +\begin{document} + +\begin{mpost} +init_backboard; +draw backboard; +init_chessboard; +draw chessboard; +draw_arrows(red)("e7--e5","g1|-f3"); +\end{mpost} +\end{document} +\end{latexcode} +\subsection{Use with \hologo{LuaLaTeX} and \package{luamplib}} + +It is possible to use \mpchess directly in a \LaTeX{} file with +\hologo{LuaLaTeX} and the package \package{luamplib}. This is what is done to +write this documentation. + +It will then suffice to put the \MP{} code in the environment +\lstinline+mplibcode+. + +For certain functionalities, \mpchess uses the \MP{} operator +\lstinline+infont+. Thus, in order for the content of these features to be composed in the current font of the document, one must add the command : +\begin{latexcode} +\mplibtextextlabel{enable} +\end{latexcode} + + + +For more details on these mechanisms, we refer to the documentation of the +package \package{luamplib}~\cite{ctan-luamplib}. + +We can load globally \mpchess with the following command. + +\begin{latexcode} +\everymplib{input mpchess;} +\end{latexcode} + +Here is a complete example of illustration (to be compiled with +\hologo{LuaLaTeX}). + + +\begin{latexcode} +\documentclass{article} +\usepackage{luamplib} + +\everymplib{input mpchess;} + +\begin{document} + +\begin{mplibcode} +beginfig(0); +init_backboard; +draw backboard; +init_chessboard; +draw chessboard; +draw_arrows(red)("e7--e5","g1|-f3"); +endfig; +\end{mplibcode} +\end{document} +\end{latexcode} + \section{To do} Many things can be added to \mpchess. Among these, we can think of: @@ -1211,6 +1249,16 @@ draw_arrows(0.3[red,black])("c4--f7"); endfig; \end{ExempleMP} +\section{History} + +\begin{description} +\item [v0.2, March 28, 2023:] Added commands for \textsc{pgn} and \textsc{fen} +file reading; added commands for displaying the main lines of +analysis; removal of the \lstinline+staunty+ theme (because of +license) and creation of the \lstinline+mpchess+ parts theme. +\item[v0.1, March 23, 2023:] First publication on the \ctan. +\end{description} + \printbibliography \printindex diff --git a/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-fr.pdf b/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-fr.pdf Binary files differindex 6c98fb92a9d..907d7677190 100644 --- a/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-fr.pdf +++ b/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-fr.pdf diff --git a/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-fr.tex b/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-fr.tex index 1e9b8fb3a3c..b35b564b030 100644 --- a/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-fr.tex +++ b/Master/texmf-dist/doc/metapost/mpchess/mpchess-doc-fr.tex @@ -11,175 +11,17 @@ % without any invariant section or cover text. \documentclass[french]{ltxdoc} -\usepackage{tcolorbox} -\tcbuselibrary{listings,breakable} -%\tcbuselibrary{documentation} -\usepackage{enumitem} -\usepackage[tikz]{bclogo} -\usepackage{mflogo} -\usepackage{hologo} -\usepackage{luamplib} -\mplibtextextlabel{enable} -\usepackage{biblatex} -\addbibresource{ctan.bib} -\usepackage{wrapfig} -\usepackage{siunitx} -\usepackage{imakeidx} -%\usepackage{csquotes} -\usepackage{fancyvrb,xparse,xargs} -\usepackage[sfdefault]{FiraSans} -\usepackage[mathrm=sym]{firamath-otf} -%\setmonofont{Fira Mono} -\setmonofont{FiraCode-Regular.ttf}[BoldFont= FiraCode-Bold.ttf,ItalicFont= FiraCode-RegularItalic.otf,BoldItalicFont= FiraCode-BoldItalic.otf,] - -\usepackage{xspace} -\usepackage{animate} -\usepackage[french]{babel} -\newcommand{\ctan}{\textsc{ctan}} -\NewDocumentCommand{\package}{ m }{% - \href{https://ctan.org/pkg/#1}{#1}\xspace -} - -\definecolor{darkred}{rgb}{0.6,0.1,0.1} -\definecolor{vert}{rgb}{0.1,0.4,0.1} -\definecolor{bleu}{rgb}{0.2,0.2,0.6} -\definecolor{orange}{rgb}{0.6,0.4,0.} -\colorlet{code}{blue!80!black} - -\usepackage[colorlinks=true,urlcolor=orange,linkcolor=orange,menucolor=black,citecolor=orange]{hyperref} - -\newcommand \file {\nolinkurl} -\renewcommand \cmd {\texttt} -\renewcommand \code [1] {\texorpdfstring {\texttt{\color{code}#1}} {#1}} -\renewcommand*\cs [1] {\code{\textbackslash #1}} - - - -\newcommand*\commande{\par\bigskip\noindent\hspace{-30pt}% - \SaveVerb[aftersave={% - \UseVerb{Vitem}% - }% - ]{Vitem}% - } - \newcommand\vitem[1][]{\SaveVerb[% - aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}} -\newcommand*\textme[1]{\textcolor{black}{\rmfamily\textit{#1}}} -%\renewcommand*\meta[1]{% % meta -% \textme{\ensuremath{\langle}#1\ensuremath{\rangle}}} -\newcommand*\optstar{% % optional star - \meta{\ensuremath{*}}\xspace} -\DefineShortVerb{\|} -\newcommand\R{\mathbf{R}} -\setlength{\fboxsep}{2pt} -\fvset{% - codes={\catcode`\«\active \catcode`\×\active }, - defineactive={\makefancyog\makefancytimes}, - formatcom=\color{darkred}, - frame=single -} -% rendre «...» équivalent à \meta{...} -{\catcode`\«\active - \newcommandx\makefancyog[0][addprefix=\global]{% - \def«##1»{\meta{##1}}}} -% rendre × équivalent à \optstar -{\catcode`\×\active - \newcommandx\makefancytimes[0][addprefix=\global]{% - \def×{\optstar{}}}} - - -\newcommand\mpchess{\textbf{\textlogo{MP}}\textit{chess}\xspace} - - - -%\addbibresource{biblio.bib} - - -\lstset{ - numberstyle=\footnotesize\color{vert}, - keywordstyle=\ttfamily\bfseries\color{bleu}, - basicstyle=\ttfamily, - commentstyle=\itshape\color{vert}, - stringstyle=\ttfamily\color{orange}, - showstringspaces=false, - language=MetaPost, - breaklines=true, - breakindent=30pt, - defaultdialect=MetaPost, - classoffset=1,% frame=tb - morekeywords={init_backboard,set_backboard_width,set_backboard_size,set_color_theme,get_backboard_width,get_backboard_size,set_backboard_width,get_square_dim,set_white_color,set_black_color,set_coords_inside,set_coords_outside,set_coords_font,set_coords, - set_no_coords,set_white_view,set_black_view, - set_white_player,set_black_player,set_pieces_theme,set_players_side,init_chessboard,set_empty_chessboard,add_white_pieces,add_black_pieces,clear_areas,clear_files,clear_ranks,clear_squares,build_chessboard_from_fen,build_chessboards_from_pgn,clear_chessboard, - color_square,draw_arrows,draw_circles,draw_comment,draw_crosses,get_halfmove_number,get_totalmove_number, - reset_mpchess,set_black_to_move,set_last_move_color,set_comment_color,set_white_to_move,set_whos_to_move,show_last_move,unset_whos_to_move,set_arrow_width,clip_chessboard}, - keywordstyle=\color{darkred}, - classoffset=2,% frame=tb - morekeywords={backboard,chessboard,chessboard_step}, - keywordstyle=\color{vert}, - classoffset=0,% frame=tb - morekeywords={draw}, - keywordstyle=\color{bleu} -} - -\makeatletter -\tcbset{% - listing metapost/.code={% - \def\tcbuselistingtext@input{\begin{mplibcode} input \jobname.listing; \end{mplibcode}}% - } -} -\makeatother -\newtcblisting[auto counter,]{ExempleMP}[1][]{% - arc=0pt,outer arc=0pt, - colback=darkred!3, - colframe=darkred, - breakable,fontupper=\small, - boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = - 3pt, toptitle=3pt, - boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = - 0pt, bottomrule at break = 0pt, - listing side text, - listing metapost, - title=Exemple~\thetcbcounter, - listing options={breaklines},#1 -} -\newtcblisting{commandshell}{colback=black,colupper=white,colframe=black, - arc=0pt, - listing only,boxsep=0pt,listing - options={style=tcblatex,language=sh}, - every listing line={\textcolor{red}{\small\ttfamily\bfseries user \$> }}} +\input{mpchess-preamble} - \newtcblisting{mpcode}{ - arc=0pt,outer arc=0pt, - colback=darkred!3, - colframe=darkred, - breakable, - boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = - 3pt, toptitle=3pt, - boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = - 0pt, bottomrule at break = 0pt, - listing only,boxsep=0pt,listing - options={breaklines} -} - -\newtcblisting{latexcode}{ - arc=0pt,outer arc=0pt, - colback=darkred!3, - colframe=darkred, - breakable, - boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = - 3pt, toptitle=3pt, - boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = - 0pt, bottomrule at break = 0pt, - listing only,boxsep=0pt,listing - options={breaklines,language={[LaTeX]TeX}} -} - +\usepackage[french]{babel} \makeindex[title=Index des commandes, columns=2] + %\lstset{moredelim=*[s][\color{red}\rmfamily\itshape]{<}{>}} %\lstset{moredelim=*[s][\color{blue}\rmfamily\itshape]{<<}{>>}} @@ -229,7 +71,7 @@ } \vfill \begin{center} - Version 0.1, 23 mars 2023 \\ + Version 0.2, 28 mars 2023 \\ \url{https://plmlab.math.cnrs.fr/mchupin/mpchess} \end{center} %% == Page de garde ==================================================== @@ -297,7 +139,7 @@ Ensuite, il faudra y placer les fichiers \lstinline+.mp+ dans le répertoire \be \item \verb+mpchess-pgn.mp+; \item \verb+mpchess-fen.mp+; \item \verb+mpchess-cburnett.mp+; - \item \verb+mpchess-staunty.mp+; + \item \verb+mpchess-pieces.mp+; \item \verb+mpchess-skak.mp+. \end{itemize} @@ -321,24 +163,6 @@ leurs documentations pour y ajouter des packages locaux : \mpchess dépend des packages \MP: \package{hatching} et, si \mpchess n’est pas utilisé avec \hologo{LuaLaTeX} et \package{luamplib}, \package{latexmp}. - -\subsection{Utilisation avec \hologo{LuaLaTeX} et \package{luamplib}} - -Il est tout à fait possible d’utiliser \mpchess directement dans un fichier -\LaTeX{} avec \hologo{LuaLaTeX} et le package \package{luamplib}. C’est -d’ailleurs ce qui est fait pour écrire cette documentation. - -\mpchess utilise, pour certaines fonctionnalités, l’opérateur -\lstinline+infont+ de \MP. Ainsi, pour que le contenu de ces fonctionnalités -soit composé dans la fonte courante du document, on devra ajouter dans son -document -\LaTeX{}, la commande : -\begin{latexcode} -\mplibtextextlabel{enable} -\end{latexcode} - -Pour plus de détails sur ces mécanismes, nous renvoyons à la documentation du -package \package{luamplib}~\cite{ctan-luamplib}. \section{Pourquoi ce package et philosophie générale} Il existe déjà des packages \LaTeX{} pour dessiner des plateaux d’échecs et des @@ -633,18 +457,18 @@ Pour choisir le thème on utilisera la commande suivante. \begin{itemize} \item \lstinline+"cburnett"+ (valeur par défaut), pour obtenir l’ensemble de pièces nommé \emph{cburnett} de Lichess; -\item \lstinline+"staunty"+, pour obtenir l’ensemble de pièces nommé \emph{staunty} de Lichess; +\item \lstinline+"mpchess"+, pour obtenir l’ensemble de pièces spécialement +conçu pour ce package ; \item \lstinline+"skak"+, pour obtenir l’ensemble de pièces du package~\package{skak}. \end{itemize} \end{description} - Le tableau~\ref{tab:pieces} montre le résultat des trois ensembles de pièces. \begin{table} \centering \begin{tabular}{cc} -Thème \lstinline+cburnett+&Thème \lstinline+staunty+\\ +Thème \lstinline+cburnett+&Thème \lstinline+mpchess+\\ \begin{mplibcode} input mpchess beginfig(0); @@ -662,7 +486,7 @@ Thème \lstinline+cburnett+&Thème \lstinline+staunty+\\ beginfig(0); init_chessboard; set_backboard_width(4cm); - set_pieces_theme("staunty"); + set_pieces_theme("mpchess"); unset_whos_to_move; init_backboard; draw backboard; @@ -687,6 +511,7 @@ Thème \lstinline+skak+&\\ \end{table} + \subsection{Trait} \mpchess indique qui a le trait entre les blancs et les noirs. Ceci ce fait par @@ -847,19 +672,45 @@ draw chessboard; endfig; \end{ExempleMP} +Il est aussi possible de lire un fichier externe contenant sur la première ligne +une chaîne de caractères au format \textsc{fen} avec la commande suivante. + +\commande|build_chessboard_from_fen_file(«string»)|\index{build_chessboard_from_fen_file@\lstinline+build_chessboard_from_fen_file+}\smallskip +\begin{description} +\item[\meta{string}:] est une chaîne de caractères (entre double-quotes) +indiquant le nom du fichier à lire. +\end{description} + +\begin{ExempleMP} +input mpchess; +beginfig(0); +init_backboard; +draw backboard; +build_chessboard_from_fen_file("test.fen"); +draw chessboard; +endfig; +\end{ExempleMP} + + + \subsection{Lecture de données au format \textsc{pgn}} \mpchess permet aussi de lire une chaîne de caractères au format \textsc{pgn}. -Lorsque une telle fonctionnalité est utilisé, \mpchess stocke toutes les +Attention, il s’agit d’une gestion partielle du format, en particulier +\mpchess ne gère pas les \emph{tags} du format. En réalité, \mpchess ne traite +que la chaîne de caractères décrivant les coups joués. De même, le format +\textsc{pgn} accepté par \mpchess n’accepte ni les variantes ni les +commentaires. + +Lorsqu’une telle fonctionnalité est utilisé, \mpchess stocke toutes les positions intermédiaires et permet ainsi de les représenter. Pour construire les positions, on utilisera la commande suivante. \commande|build_chessboards_from_pgn(«string»)|\index{build_chessboards_from_pgn@\lstinline+build_chessboards_from_pgn+}\smallskip -Le format \textsc{pgn} accepté par \mpchess est un format simplifié qui -n’accepte ni les variantes ni les commentaires. + Une fois le positions construites, on pourra les représenter grâce à la commande suivante. @@ -884,6 +735,28 @@ draw chessboard_step(3); % Nf3 endfig; \end{ExempleMP} +Il est aussi possible de lire un fichier externe contenant sur la première ligne +une chaîne de caractères au format \textsc{pgn} avec la commande suivante. + +\commande|build_chessboard_from_pgn_file(«string»)|\index{build_chessboard_from_pgn_file@\lstinline+build_chessboard_from_pgn_file+}\smallskip + +\begin{description} +\item[\meta{string}:] est une chaîne de caractères (entre double-quotes) +indiquant le nom du fichier à lire. +\end{description} + +\begin{ExempleMP} +input mpchess; +build_chessboards_from_pgn_file("test.pgn"); +beginfig(0); +init_backboard; +draw backboard; +draw chessboard_step(4); % Nc6 +endfig; +\end{ExempleMP} + + + \subsubsection{Montrer le dernier coup} On peut afficher automatiquement le dernier coup grâce à la commande suivante. @@ -993,6 +866,7 @@ draw_arrows(red)("f8--b4","g1|-f3"); endfig; \end{ExempleMP} + \subsection{Coloration de cases} \mpchess permet aussi de colorer des cases grâce à la commande suivante. @@ -1097,12 +971,59 @@ draw_comment("?!","f3"); endfig; \end{ExempleMP} + + + La couleur des annotation de commentaires peut être changé grâce à la commande suivante. \commande|set_comment_color(«color»)|\index{set_comment_color@\lstinline+set_comment_color+}\smallskip +\subsection{Lignes principales} + +\mpchess fournit une commande permettant d’afficher les fléches des coups des +lignes principales d’analyses. Il y a les commandes pour les deux couleurs. + +\commande|draw_white_main_lines(«move1»,«move2»,etc.)|\index{draw_white_main_lines@\lstinline+draw_white_main_lines+}\smallskip + +\commande|draw_black_main_lines(«move1»,«move2»,etc.)|\index{draw_black_main_lines@\lstinline+draw_black_main_lines+}\smallskip + +\begin{description} +\item[\meta{move1}, \meta{move2}, etc.:] sont les coups à illustrer par une +flêche, en suivant la notation de type \textsc{pgn}. +\end{description} +Lorsqu’on utilise la lecture de format \textsc{pgn} pour la construction des +positions à afficher, on pourra alors utiliser les commandes suivantes +permettant de spécifier quelle étape de la partie on commente. + +\commande|draw_white_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_white_main_lines_step@\lstinline+draw_white_main_lines_step+}\smallskip + +\commande|draw_black_main_lines_step(«step»)(«move1»,«move2»,etc.)|\index{draw_black_main_lines_step@\lstinline+draw_black_main_lines_step+}\smallskip + +\begin{description} + \item[\meta{step}:] est l’étape de la partie qu’on souhaite annonter; +\item[\meta{move1}, \meta{move2}, etc.:] sont les coups à illustrer par une +flêche, en suivant la notation de type \textsc{pgn}. +\end{description} + +L’exemple suivant permet d’illuster l’utilisation de cette commande. + +\begin{ExempleMP} +input mpchess +string pgnstr; +pgnstr:="1. e4 d5"; +build_chessboards_from_pgn(pgnstr); +beginfig(0); +init_backboard; +draw backboard; +draw chessboard_step(2); +draw_white_main_lines_step(2)("exd5","e5","Nc3"); +endfig; +\end{ExempleMP} +Pour changer la couleur (par défaut \lstinline+0.3[_blackColorSquare,black]+), +on utilisera la commande suivante. +\commande|set_main_lines_color(«color»)|\index{set_main_lines_color@\lstinline+set_main_lines_color+}\smallskip \section{Divers} \subsection{Réinitialisation du \lstinline+chessboard+} @@ -1151,6 +1072,127 @@ clip_chessboard("e1-g4"); endfig; \end{ExempleMP} + + + +\section{Utilisation avec \LaTeX{}} + +\subsection{Utilisation avec \hologo{pdfLaTeX} ou \hologo{XeLaTeX}} + +Il existe plusieurs façons d’inclure les images produites par \mpchess dans un +document \LaTeX. La première est de générer des fichiers \pdf{} avec \MP{} puis +de les inclure avec \lstinline[language=TeX]+\includegraphics+. Cette +solution fonctionne avec tous les moteurs. + +On pourra aussi utiliser les packages \package{gmp} ou \package{mpgraphics} +avec \hologo{pdfLaTeX} ou \hologo{XeLaTeX}\footnote{Nous tenons à remercier +Quark67 pour les questions et les conseils.}. + +\subsubsection{Avec \package{mpgraphics}} + +Avec \package{mpgraphics}~\cite{ctan-mpgraphics}, on chargera \mpchess avec +l’environnement \lstinline+mpdefs+ et on pourra produire des images grâce à du +code \MP{} mais sans avoir recours à \lstinline+beginfig+ et \lstinline+endfig+, +le code pour générer une figure \MP{} se trouvant dans l’environnement +\lstinline+mpdisplay+. Il faudra de plus utiliser l’option +\lstinline+-shell-escape+ à la compilation du document \LaTeX. + +Voici un exemple complet d’illustration. + +\begin{latexcode} +\documentclass{article} +\usepackage{mpgraphics} +\begin{document} +\begin{mpdefs} +input mpchess +\end{mpdefs} +\begin{mpdisplay} +init_backboard; +draw backboard; +init_chessboard; +draw chessboard; +draw_arrows(red)("e7--e5","g1|-f3"); +\end{mpdisplay} +\end{figure} +\end{document} +\end{latexcode} + +\subsubsection{Avec \package{gmp}} + +L’utilisation de \package{gmp}~\cite{ctan-gmp} est assez similaire à celle de +\package{mpgraphics}. Quelques commandes sont toute fois différentes, mais comme +avec \package{mpgraphics}, on n’aura pas recours à \lstinline+beginfig+ et +\lstinline+endfig+. Le chargement de \mpchess peut se faire au chargement du +package, et le code \MP{} se trouve dans l’environnement \lstinline+mpost+. Là +encore il faudra compiler le document \LaTeX{} avec l’option \lstinline+-shell-escape+. + +Voici un exemple complet d’illustration. + +\begin{latexcode} +\documentclass{article} +\usepackage[shellescape, everymp={input mpchess;}]{gmp} + +\begin{document} + +\begin{mpost} +init_backboard; +draw backboard; +init_chessboard; +draw chessboard; +draw_arrows(red)("e7--e5","g1|-f3"); +\end{mpost} +\end{document} +\end{latexcode} + +\subsection{Utilisation avec \hologo{LuaLaTeX} et \package{luamplib}} + +Il est tout à fait possible d’utiliser \mpchess directement dans un fichier +\LaTeX{} avec \hologo{LuaLaTeX}\footnote{Rappelons que \MP{} fait partie +intégrante de \hologo{LuaTeX}.} et le package \package{luamplib}. C’est +d’ailleurs ce qui est fait pour écrire cette documentation. + +Il suffira alors de mettre le code \MP{} dans l’environnement \lstinline+mplibcode+. + + +\mpchess utilise, pour certaines fonctionnalités, l’opérateur +\lstinline+infont+ de \MP. Ainsi, pour que le contenu de ces fonctionnalités +soit composé dans la fonte courante du document, on devra ajouter dans son +document +\LaTeX{}, la commande : +\begin{latexcode} +\mplibtextextlabel{enable} +\end{latexcode} + +Pour plus de détails sur ces mécanismes, nous renvoyons à la documentation du +package \package{luamplib}~\cite{ctan-luamplib}. + +On pourra charger globaletement \mpchess avec la commande suivante. + +\begin{latexcode} +\everymplib{input mpchess;} +\end{latexcode} + +Voici un exemple complet d’illustration (à compiler avec \hologo{LuaLaTeX}). + +\begin{latexcode} +\documentclass{article} +\usepackage{luamplib} + +\everymplib{input mpchess;} + +\begin{document} + +\begin{mplibcode} +beginfig(0); +init_backboard; +draw backboard; +init_chessboard; +draw chessboard; +draw_arrows(red)("e7--e5","g1|-f3"); +endfig; +\end{mplibcode} +\end{document} +\end{latexcode} \section{To do} De nombreuses choses sont à ajouter à \mpchess. Parmi celles-ci, on peut penser @@ -1162,8 +1204,6 @@ De nombreuses choses sont à ajouter à \mpchess. Parmi celles-ci, on peut pense \item montrer les cases accessibles pour une pièces choisie (les points de Lichess) ; \item ajouter les coordonnées en extérieur lorsque le plateau est découpé ; -\item afficher les $n$ flèches indiquant les $n$ coups des premières lignes -d’une position (avec une épaisseur des flèches qui décroit) ; \item ajouter des thèmes de pièces. \end{itemize} @@ -1190,8 +1230,16 @@ draw_arrows(0.3[red,black])("c4--f7"); endfig; \end{ExempleMP} +\section{Historique} -\printbibliography +\begin{description} +\item[v0.2, 28 mars 2023 :] Ajout des commandes de lecture de fichiers +\textsc{pgn} et \textsc{fen}; ajout des commandes d’affichage des lignes +principales d’analyse; suppression du thème \lstinline+staunty+ (pour cause de +licence) et création du thème de pièces \lstinline+mpchess+. +\item[v0.1, 23 mars 2023 :] Première publication sur le \ctan. +\end{description} + \printbibliography \printindex \end{document} diff --git a/Master/texmf-dist/doc/metapost/mpchess/mpchess-preamble.tex b/Master/texmf-dist/doc/metapost/mpchess/mpchess-preamble.tex new file mode 100644 index 00000000000..ce82395ee4a --- /dev/null +++ b/Master/texmf-dist/doc/metapost/mpchess/mpchess-preamble.tex @@ -0,0 +1,165 @@ +\usepackage{tcolorbox} +\tcbuselibrary{listings,breakable} +%\tcbuselibrary{documentation} +\usepackage{enumitem} +\usepackage[tikz]{bclogo} +\usepackage{mflogo} +\usepackage{hologo} +\usepackage{luamplib} +\mplibtextextlabel{enable} +\usepackage{biblatex} +\addbibresource{ctan.bib} +\usepackage{wrapfig} +\usepackage{siunitx} +\usepackage{imakeidx} +%\usepackage{csquotes} +\usepackage{fancyvrb,xparse,xargs} +\usepackage[sfdefault]{FiraSans} +\usepackage[mathrm=sym]{firamath-otf} +\setmonofont{Fira Mono} +%\setmonofont{FiraCode-Regular.ttf}[BoldFont= FiraCode-Bold.ttf,ItalicFont= FiraCode-RegularItalic.otf,BoldItalicFont= FiraCode-BoldItalic.otf,Ligatures={NoCommon, NoDiscretionary, NoHistoric, NoRequired, NoContextual}] + +\usepackage{xspace} +\usepackage{animate} +\newcommand{\ctan}{\textsc{ctan}} +\NewDocumentCommand{\package}{ m }{% + \href{https://ctan.org/pkg/#1}{#1}\xspace +} + +\definecolor{darkred}{rgb}{0.6,0.1,0.1} +\definecolor{vert}{rgb}{0.1,0.4,0.1} +\definecolor{bleu}{rgb}{0.2,0.2,0.6} +\definecolor{orange}{rgb}{0.6,0.4,0.} +\colorlet{code}{blue!80!black} + +\usepackage[colorlinks=true,urlcolor=orange,linkcolor=orange,menucolor=black,citecolor=orange]{hyperref} + +\newcommand \file {\nolinkurl} +\renewcommand \cmd {\texttt} +\renewcommand \code [1] {\texorpdfstring {\texttt{\color{code}#1}} {#1}} +\renewcommand*\cs [1] {\code{\textbackslash #1}} + + + +\newcommand*\commande{\par\bigskip\noindent\hspace{-30pt}% + \SaveVerb[aftersave={% + \UseVerb{Vitem}% + }% + ]{Vitem}% + } + \newcommand\vitem[1][]{\SaveVerb[% + aftersave={\item[\textnormal{\UseVerb[#1]{vsave}}]}]{vsave}} +\newcommand*\textme[1]{\textcolor{black}{\rmfamily\textit{#1}}} +%\renewcommand*\meta[1]{% % meta +% \textme{\ensuremath{\langle}#1\ensuremath{\rangle}}} +\newcommand*\optstar{% % optional star + \meta{\ensuremath{*}}\xspace} +\DefineShortVerb{\|} +\newcommand\R{\mathbf{R}} +\setlength{\fboxsep}{2pt} +\fvset{% + codes={\catcode`\«\active \catcode`\×\active }, + defineactive={\makefancyog\makefancytimes}, + formatcom=\color{darkred}, + frame=single +} +% rendre «...» équivalent à \meta{...} +{\catcode`\«\active + \newcommandx\makefancyog[0][addprefix=\global]{% + \def«##1»{\meta{##1}}}} +% rendre × équivalent à \optstar +{\catcode`\×\active + \newcommandx\makefancytimes[0][addprefix=\global]{% + \def×{\optstar{}}}} + + +\newcommand\mpchess{\textbf{\textlogo{MP}}\textit{chess}\xspace} + + + +%\addbibresource{biblio.bib} + + +\lstset{ + numberstyle=\footnotesize\color{vert}, + keywordstyle=\ttfamily\bfseries\color{bleu}, + basicstyle=\ttfamily, + commentstyle=\itshape\color{vert}, + stringstyle=\ttfamily\color{orange}, + showstringspaces=false, + language=MetaPost, + breaklines=true, + breakindent=30pt, + defaultdialect=MetaPost, + classoffset=1,% frame=tb + morekeywords={init_backboard,set_backboard_width,set_backboard_size,set_color_theme,get_backboard_width,get_backboard_size,set_backboard_width,get_square_dim,set_white_color,set_black_color,set_coords_inside,set_coords_outside,set_coords_font,set_coords, + set_no_coords,set_white_view,set_black_view, + set_white_player,set_black_player,set_pieces_theme,set_players_side,init_chessboard,set_empty_chessboard,add_white_pieces,add_black_pieces,clear_areas,clear_files,clear_ranks,clear_squares,build_chessboard_from_fen,build_chessboards_from_pgn,clear_chessboard, + color_square,draw_arrows,draw_circles,draw_comment,draw_crosses,get_halfmove_number,get_totalmove_number, + reset_mpchess,set_black_to_move,set_last_move_color,set_comment_color,set_white_to_move,set_whos_to_move,show_last_move,unset_whos_to_move,set_arrow_width,clip_chessboard,build_chessboard_from_fen_file,build_chessboard_from_pgn_file,draw_black_main_lines,draw_black_main_lines_step,draw_white_main_lines,draw_white_main_lines_step,set_main_lines_color}, + keywordstyle=\color{darkred}, + classoffset=2,% frame=tb + morekeywords={backboard,chessboard,chessboard_step}, + keywordstyle=\color{vert}, + classoffset=0,% frame=tb + morekeywords={draw}, + keywordstyle=\color{bleu} +} + +\makeatletter +\tcbset{% + listing metapost/.code={% + \def\tcbuselistingtext@input{\begin{mplibcode} input \jobname.listing; \end{mplibcode}}% + } +} +\makeatother +\newtcblisting[auto counter,]{ExempleMP}[1][]{% + arc=0pt,outer arc=0pt, + colback=darkred!3, + colframe=darkred, + breakable,fontupper=\small, + boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = + 3pt, toptitle=3pt, + boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = + 0pt, bottomrule at break = 0pt, + listing side text, + listing metapost, + title=Exemple~\thetcbcounter, + listing options={breaklines},#1 +} + +\newtcblisting{commandshell}{colback=black,colupper=white,colframe=black, + arc=0pt, + listing only,boxsep=0pt,listing + options={style=tcblatex,language=sh}, + every listing line={\textcolor{red}{\small\ttfamily\bfseries user \$> }}} + + + \newtcblisting{mpcode}{ + arc=0pt,outer arc=0pt, + colback=darkred!3, + colframe=darkred, + breakable, + boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = + 3pt, toptitle=3pt, + boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = + 0pt, bottomrule at break = 0pt, + listing only,boxsep=0pt,listing + options={breaklines} +} + +\newtcblisting{latexcode}{ + arc=0pt,outer arc=0pt, + colback=darkred!3, + colframe=darkred, + breakable, + boxsep=0pt,left=5pt,right=5pt,top=5pt,bottom=5pt, bottomtitle = + 3pt, toptitle=3pt, + boxrule=0pt,bottomrule=0.5pt,toprule=0.5pt, toprule at break = + 0pt, bottomrule at break = 0pt, + listing only,boxsep=0pt,listing + options={breaklines,language={[LaTeX]TeX}} +} + + +\newcommand\pdf{\textsc{pdf}}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/mpchess/test.fen b/Master/texmf-dist/doc/metapost/mpchess/test.fen new file mode 100644 index 00000000000..765569d8634 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/mpchess/test.fen @@ -0,0 +1 @@ +rnbqkbnr/pp1ppppp/8/2p5/4P3/5N2/PPPP1PPP/RNBQKB1R b KQkq - 1 2
\ No newline at end of file diff --git a/Master/texmf-dist/doc/metapost/mpchess/test.pgn b/Master/texmf-dist/doc/metapost/mpchess/test.pgn new file mode 100644 index 00000000000..e0398d0a610 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/mpchess/test.pgn @@ -0,0 +1 @@ +1. e4 e5 2. Nf3 Nc6 3. Nxe5 Nxe5 4. Bb5 c6
\ No newline at end of file diff --git a/Master/texmf-dist/metapost/mpchess/mpchess-cburnett.mp b/Master/texmf-dist/metapost/mpchess/mpchess-cburnett.mp index 723a0ed0f92..2e0e69d8cdc 100644 --- a/Master/texmf-dist/metapost/mpchess/mpchess-cburnett.mp +++ b/Master/texmf-dist/metapost/mpchess/mpchess-cburnett.mp @@ -1,3 +1,6 @@ +%% File under license GPLv2+: +%% https://github.com/lichess-org/lila/blob/master/COPYING.md + picture _chess_cburnett_bB; diff --git a/Master/texmf-dist/metapost/mpchess/mpchess-chessboard.mp b/Master/texmf-dist/metapost/mpchess/mpchess-chessboard.mp index 996e9282742..2654da50287 100644 --- a/Master/texmf-dist/metapost/mpchess/mpchess-chessboard.mp +++ b/Master/texmf-dist/metapost/mpchess/mpchess-chessboard.mp @@ -386,11 +386,6 @@ def _build_all_chessboards= chessboard_number:=_chess_step_numtable; enddef; -def build_chessboards_from_pgn(expr s)= - _build_chess_moves_tables(s); - _build_all_chessboards; -enddef; - % set the starting empty board def set_empty_chessboard = @@ -452,3 +447,51 @@ def add_black_pieces(text plists) = enddef; + + +def _draw_main_lines(expr _k)(expr wb)(text slist)= + save _str; + _chess_arrow_width_save:=_chess_arrow_width; + _step:=1.4; + for _str = slist: + _chess_arrow_width:=(0.1*_step)*_chessSquareU; + _extract_single_move(_str,wb); + _piecetype:=_chess_extract_move_tab[0]; + _pm:=_chess_extract_move_tab[1]; + _iend:=_chess_extract_move_tab[2]; + _jend:=_chess_extract_move_tab[3]; + _capture:=_chess_extract_move_tab[4]; + _promotion:=_chess_extract_move_tab[5]; + _ambiguity:=_chess_extract_move_tab[6]; + for i:=1 upto _chessSize: + for j:=1 upto _chessSize: + if(chessboard_table[_k][i][j]=_piecetype): + if(_chess_candidate(_piecetype, i, j, _iend, _jend,wb,_capture)=true): + draw_arrows(_chess_main_lines_color)(_int_to_letter_w(i)&_int_to_str_w(j)&"--"&_int_to_letter_w(_iend)&_int_to_str_w(_jend)); + fi + fi + endfor; + endfor; + _step:=max(_step-0.3,0.7); + endfor; +enddef; + + +def draw_white_main_lines(text slist)= + _draw_main_lines(0)("white")(slist); +enddef; + + +def draw_black_main_lines(text slist)= + _draw_main_lines(0)("black")(slist); +enddef; + + +def draw_white_main_lines_step(expr k)(text slist)= + _draw_main_lines(k)("white")(slist); +enddef; + + +def draw_black_main_lines_step(expr k)(text slist)= + _draw_main_lines(k)("black")(slist); +enddef;
\ No newline at end of file diff --git a/Master/texmf-dist/metapost/mpchess/mpchess-fen.mp b/Master/texmf-dist/metapost/mpchess/mpchess-fen.mp index 714922d53c8..8d2f8e66e7a 100644 --- a/Master/texmf-dist/metapost/mpchess/mpchess-fen.mp +++ b/Master/texmf-dist/metapost/mpchess/mpchess-fen.mp @@ -87,4 +87,12 @@ enddef; def build_chessboard_from_fen(expr s)= set_empty_chessboard; _chess_extract_position(s); -enddef;
\ No newline at end of file +enddef; + +def build_chessboard_from_fen_file(expr s)= + set_empty_chessboard; + string _rf; + _rf:=readfrom s; + _chess_extract_position(_rf); +enddef; + diff --git a/Master/texmf-dist/metapost/mpchess/mpchess-pgn.mp b/Master/texmf-dist/metapost/mpchess/mpchess-pgn.mp index 0ed11644b0d..155aaad2621 100644 --- a/Master/texmf-dist/metapost/mpchess/mpchess-pgn.mp +++ b/Master/texmf-dist/metapost/mpchess/mpchess-pgn.mp @@ -220,9 +220,9 @@ def _str_to_int(expr i)= fi enddef; +numeric _chess_extract_move_tab[]; - -vardef _extract_move(expr _step,s,wb)= +vardef _extract_single_move(expr s,wb)= % function to convert a PGN move (ie Nc6) % to a array of numerics (type, wb,letter, nbr, capture,promotion,ambiguity) % no castle moves !!! @@ -304,12 +304,35 @@ vardef _extract_move(expr _step,s,wb)= fi fi fi - _chess_moves_table_numeric[_step][0]:=_piecetype; - _chess_moves_table_numeric[_step][1]:=_pm; - _chess_moves_table_numeric[_step][2]:=_letter; - _chess_moves_table_numeric[_step][3]:=_nbr; - _chess_moves_table_numeric[_step][4]:=_capture; - _chess_moves_table_numeric[_step][5]:=_promotion; - _chess_moves_table_numeric[_step][6]:=_ambiguity; + _chess_extract_move_tab[0]:=_piecetype; + _chess_extract_move_tab[1]:=_pm; + _chess_extract_move_tab[2]:=_letter; + _chess_extract_move_tab[3]:=_nbr; + _chess_extract_move_tab[4]:=_capture; + _chess_extract_move_tab[5]:=_promotion; + _chess_extract_move_tab[6]:=_ambiguity; +enddef; + +vardef _extract_move(expr _step,s,wb)= + _extract_single_move(s,wb); + _chess_moves_table_numeric[_step][0]:=_chess_extract_move_tab[0]; + _chess_moves_table_numeric[_step][1]:=_chess_extract_move_tab[1]; + _chess_moves_table_numeric[_step][2]:=_chess_extract_move_tab[2]; + _chess_moves_table_numeric[_step][3]:=_chess_extract_move_tab[3]; + _chess_moves_table_numeric[_step][4]:=_chess_extract_move_tab[4]; + _chess_moves_table_numeric[_step][5]:=_chess_extract_move_tab[5]; + _chess_moves_table_numeric[_step][6]:=_chess_extract_move_tab[6]; +enddef; + +def build_chessboards_from_pgn(expr s)= + _build_chess_moves_tables(s); + _build_all_chessboards; enddef; +def build_chessboards_from_pgn_file(expr s)= + set_empty_chessboard; + string _rf; + _rf:=readfrom s; + _build_chess_moves_tables(_rf); + _build_all_chessboards; +enddef; diff --git a/Master/texmf-dist/metapost/mpchess/mpchess-pieces.mp b/Master/texmf-dist/metapost/mpchess/mpchess-pieces.mp new file mode 100644 index 00000000000..0d6aa5ea248 --- /dev/null +++ b/Master/texmf-dist/metapost/mpchess/mpchess-pieces.mp @@ -0,0 +1,366 @@ +picture _chess_mpchess_bB; + + +_chess_mpchess_bB:=image( +drawoptions (withcolor (0.000000,0.000000,0.007843)); +linecap := butt; +linejoin := mitered; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +fill (19.277300,8.980470)..controls (19.894501,9.753910) and (22.925800,14.847700)..(16.992201,20.039101) + ..controls (16.992201,20.039101) and (14.613300,17.152300)..(14.218800,12.882800) + --(12.765600,12.882800)..controls (12.738300,16.804701) and (15.839800,20.863300)..(15.839800,20.863300) + ..controls (18.335899,25.269501) and (10.136700,25.285200)..(12.398400,20.863300) + ..controls (5.476560,15.527300) and (8.558590,9.656250)..(9.070310,8.980470) + --cycle; +); + +picture _chess_mpchess_bK; + +_chess_mpchess_bK := image( +linecap := butt; +linejoin := mitered; +path _contours[]; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; + +_contours[1]:=(18.843800,17.230499)..controls (20.804701,17.054701) and (21.562500,14.839800)..(16.441401,11.679700) + --(16.441401,16.105499)..controls (17.390600,16.968800) and (17.949200,17.312500)..(18.843800,17.230499) + --cycle; +_contours[2]:= (9.828130,17.207001)..controls (10.656300,17.183599) and (11.054700,16.828100)..(11.882800,16.074200) + --(11.882800,11.644500)..controls (6.761720,14.808600) and (7.519530,17.023399)..(9.484380,17.199200) + ..controls (9.593750,17.210899) and (9.710940,17.210899)..(9.828130,17.210899) + --cycle; + +fill (12.972700,25.609400)--(_contours[1])--(12.972700,25.609400)--(12.972700,24.281300)--(11.339800,24.281300) + --(11.339800,22.222700)--(12.972700,22.222700)..controls (12.972700,20.625000) and (12.539100,20.914101)..(11.347700,20.253901) + ..controls (3.992190,22.917999) and (-0.011719,14.625000)..(8.492190,9.007810) + --(19.800800,9.042970)..controls (28.468800,14.628900) and (24.375000,22.917999)..(17.019501,20.214800) + ..controls (15.617200,20.906300) and (15.363300,20.515600)..(15.363300,22.222700) + --(17.027300,22.222700)--(_contours[2])--(17.027300,22.222700)--(17.027300,24.281300)--(15.363300,24.281300) + --(15.363300,25.609400)--cycle; +); + +picture _chess_mpchess_bN; + +_chess_mpchess_bN:=image( +linecap := butt; +linejoin := mitered; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +fill (19.257799,9.101560)--(9.082030,9.101560)..controls (9.218750,12.449200) and (13.515600,14.226600)..(13.710900,15.843800) + ..controls (13.906300,17.457001) and (13.031300,17.875000)..(13.031300,17.875000) + ..controls (13.031300,17.875000) and (12.433600,15.933600)..(11.668000,15.535200) + ..controls (10.902300,15.136700) and (9.125000,14.765600)..(9.125000,14.765600) + ..controls (9.125000,14.765600) and (7.875000,13.789100)..(7.140630,13.855500) + ..controls (6.406250,13.925800) and (5.773440,15.449200)..(5.773440,15.449200) + --(8.273440,18.898399)--(9.539060,21.347700)--(10.734400,22.476601) + --(11.246100,24.136700)--(12.683600,22.675800)..controls (20.597700,22.675800) and (22.316401,13.824200)..(19.257799,9.101560) + --cycle; +); + +picture _chess_mpchess_bP; +_chess_mpchess_bP:=image( +drawoptions (withcolor (0.000000,0.000000,0.015686)); +linecap := butt; +linejoin := mitered; +fill (14.156300,20.671900)..controls (12.527300,20.671900) and (11.203100,19.347700)..(11.203100,17.718800) + ..controls (11.203100,16.894501) and (11.550800,16.109400)..(12.156300,15.550800) + --(10.480500,14.832000)--(10.480500,13.085900)--(12.460900,13.089800) + ..controls (11.296900,5.554690) and (7.957030,7.871090)..(7.957030,3.695310) + --(20.449200,3.695310)..controls (20.449200,7.929690) and (17.027300,5.371090)..(15.855500,13.093800) + --(17.835899,13.125000)--(17.835899,14.859400)--(16.179701,15.566400) + ..controls (16.773399,16.125000) and (17.109400,16.902300)..(17.109400,17.718800) + ..controls (17.109400,19.351601) and (15.789100,20.671900)..(14.156300,20.671900) + --cycle; +); + +picture _chess_mpchess_bQ; + +_chess_mpchess_bQ:=image( +linecap := butt; +linejoin := mitered; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +fill (11.261700,25.441401)..controls (10.011700,25.445299) and (8.996090,24.496099)..(8.996090,23.328100) + ..controls (8.996090,22.457001) and (9.566410,21.675800)..(10.429700,21.359400) + --(10.148400,15.664100)--(7.160160,20.242201)..controls (7.421880,20.593800) and (7.558590,21.011700)..(7.558590,21.441401) + ..controls (7.558590,22.609400) and (6.546880,23.558599)..(5.296880,23.558599) + ..controls (4.046880,23.558599) and (3.035160,22.609400)..(3.035160,21.441401) + ..controls (3.035160,20.410200) and (3.828130,19.531300)..(4.914060,19.355499) + --(8.492190,9.046880)--(19.851601,9.046880)--(23.421900,19.292999) + ..controls (24.539101,19.441401) and (25.367201,20.332001)..(25.371099,21.386700) + ..controls (25.371099,22.554701) and (24.355499,23.500000)..(23.109400,23.503901) + ..controls (21.859400,23.500000) and (20.847700,22.554701)..(20.847700,21.386700) + ..controls (20.847700,20.992201) and (20.964800,20.609400)..(21.187500,20.273399) + --(18.132799,15.664100)--(17.894501,21.367201)..controls (18.746099,21.691401) and (19.300800,22.468800)..(19.300800,23.328100) + ..controls (19.300800,24.496099) and (18.289101,25.441401)..(17.039101,25.441401) + ..controls (15.789100,25.441401) and (14.777300,24.496099)..(14.777300,23.328100) + ..controls (14.777300,22.777300) and (15.007800,22.246099)..(15.418000,21.851601) + --(14.140600,15.664100)--(12.921900,21.894501)..controls (13.308600,22.285200) and (13.519500,22.796900)..(13.523400,23.328100) + ..controls (13.523400,24.496099) and (12.507800,25.441401)..(11.261700,25.441401) + --cycle; +); + +picture _chess_mpchess_bR; +_chess_mpchess_bR:=image( +drawoptions (withcolor (0.000000,0.000000,0.000000)); +linecap := butt; +linejoin := mitered; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +fill (19.250000,7.917970)--cycle; +fill (19.851601,9.046880)--(18.125000,15.882800)--(10.199200,15.882800) + --(8.492190,9.046880)--cycle; +fill (19.851601,9.046880)--cycle; +fill (19.609400,21.625000)--(17.171900,22.253901)--(16.644501,21.011700) + --(15.648400,21.019501)--(15.648400,22.785200)--(12.597700,22.738300) + --(12.597700,21.019501)--(11.710900,21.019501)--(11.074200,22.253901) + --(8.683590,21.382799)..controls (8.683590,21.382799) and (8.660160,17.046900)..(9.914060,17.070299) + --(18.378901,17.070299)..controls (19.628901,17.070299) and (19.609400,21.625000)..(19.609400,21.625000) + --cycle; +); + +picture _chess_mpchess_wB; +_chess_mpchess_wB:= image( + drawoptions (withcolor (1.000000,1.000000,1.000000)); +linecap := butt; +linejoin := mitered; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +fill (19.250000,7.917970)--cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +drawoptions (withcolor (1.000000,1.000000,1.000000)); +pickup pencircle scaled 0.000000bp; +fill (19.277300,7.957030)..controls (19.894501,8.785160) and (22.925800,14.222700)..(16.992201,19.761700) + ..controls (16.992201,19.761700) and (14.613300,16.679701)..(14.218800,12.121100) + --(12.765600,12.125000)..controls (12.738300,16.308599) and (15.839800,20.640600)..(15.839800,20.640600) + ..controls (18.335899,25.343800) and (10.136700,25.359400)..(12.398400,20.640600) + ..controls (5.476560,14.945300) and (8.558590,8.679690)..(9.070310,7.957030) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.277300,7.957030)..controls (19.894501,8.785160) and (22.925800,14.222700)..(16.992201,19.761700) + ..controls (16.992201,19.761700) and (14.613300,16.679701)..(14.218800,12.121100) + --(12.765600,12.125000)..controls (12.738300,16.308599) and (15.839800,20.640600)..(15.839800,20.640600) + ..controls (18.335899,25.343800) and (10.136700,25.359400)..(12.398400,20.640600) + ..controls (5.476560,14.945300) and (8.558590,8.679690)..(9.070310,7.957030) + --cycle; +); + +picture _chess_mpchess_wK; +_chess_mpchess_wK:=image( +drawoptions (withcolor (1.000000,1.000000,1.000000)); +linecap := butt; +linejoin := mitered; +path _contours[]; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +draw (19.250000,7.917970); +drawoptions (withcolor (1.000000,1.000000,1.000000)); +pickup pencircle scaled 0.000000bp; + +_contours[1]:=(18.843800,16.433599)..controls (20.804701,16.250000) and (21.562500,13.957000)..(16.441401,10.687500) + --(16.441401,15.265600)..controls (17.390600,16.164101) and (17.949200,16.515600)..(18.843800,16.433599) + --cycle; +_contours[2]:= (9.828130,16.410200)..controls (10.656300,16.382799) and (11.054700,16.015600)..(11.882800,15.234400) + --(11.882800,10.652300)..controls (6.761720,13.925800) and (7.519530,16.214800)..(9.484380,16.398399) + ..controls (9.593750,16.410200) and (9.710940,16.414101)..(9.828130,16.410200) + --cycle; +fill (12.972700,25.101601)--(_contours[1])--(12.972700,25.101601)--(12.972700,23.730499)--(11.339800,23.730499) + --(11.339800,21.597700)--(12.972700,21.597700)..controls (12.972700,19.945299) and (12.539100,20.246099)..(11.347700,19.562500) + ..controls (3.992190,22.316401) and (-0.011719,13.738300)..(8.492190,7.921880) + --(19.800800,7.960940)..controls (28.468800,13.738300) and (24.375000,22.316401)..(17.019501,19.519501) + ..controls (15.617200,20.234400) and (15.363300,19.832001)..(15.363300,21.597700) + --(17.027300,21.597700)--(_contours[2])--(17.027300,21.597700)--(17.027300,23.730499)--(15.363300,23.730499) + --(15.363300,25.101601)--cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.133000bp; +draw (12.972700,25.101601)--(12.972700,23.730499)--(11.339800,23.730499) + --(11.339800,21.597700)--(12.972700,21.597700)..controls (12.972700,19.945299) and (12.539100,20.246099)..(11.347700,19.562500) + ..controls (3.992190,22.316401) and (-0.011719,13.738300)..(8.492190,7.921880) + --(19.800800,7.960940)..controls (28.468800,13.738300) and (24.375000,22.316401)..(17.019501,19.519501) + ..controls (15.617200,20.234400) and (15.363300,19.832001)..(15.363300,21.597700) + --(17.027300,21.597700)--(17.027300,23.730499)--(15.363300,23.730499) + --(15.363300,25.101601)--cycle; +draw (18.843800,16.433599)..controls (20.804701,16.250000) and (21.562500,13.957000)..(16.441401,10.687500) + --(16.441401,15.265600)..controls (17.390600,16.164101) and (17.949200,16.515600)..(18.843800,16.433599) + --cycle; +draw (9.828130,16.410200)..controls (10.656300,16.382799) and (11.054700,16.015600)..(11.882800,15.234400) + --(11.882800,10.652300)..controls (6.761720,13.925800) and (7.519530,16.214800)..(9.484380,16.398399) + ..controls (9.593750,16.410200) and (9.710940,16.414101)..(9.828130,16.410200) + --cycle; +draw (9.828130,16.410200); +); + +picture _chess_mpchess_wN; +_chess_mpchess_wN:=image( +drawoptions (withcolor (1.000000,1.000000,1.000000)); +linecap := butt; +linejoin := mitered; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +drawoptions (withcolor (1.000000,1.000000,1.000000)); +pickup pencircle scaled 0.000000bp; +fill (19.257799,8.000000)--(9.082030,8.000000)..controls (9.218750,11.593800) and (13.515600,13.503900)..(13.710900,15.234400) + ..controls (13.906300,16.968800) and (13.031300,17.414101)..(13.031300,17.414101) + ..controls (13.031300,17.414101) and (12.433600,15.332000)..(11.668000,14.906300) + ..controls (10.902300,14.480500) and (9.125000,14.078100)..(9.125000,14.078100) + ..controls (9.125000,14.078100) and (7.875000,13.031200)..(7.140630,13.105500) + ..controls (6.406250,13.175800) and (5.773440,14.812500)..(5.773440,14.812500) + --(8.273440,18.515600)--(9.539060,21.140600)--(10.734400,22.355499) + --(11.246100,24.136700)--(12.683600,22.570299)..controls (20.597700,22.570299) and (22.316401,13.070300)..(19.257799,8.000000) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.257799,8.000000)--(9.082030,8.000000)..controls (9.218750,11.593800) and (13.515600,13.503900)..(13.710900,15.234400) + ..controls (13.906300,16.968800) and (13.031300,17.414101)..(13.031300,17.414101) + ..controls (13.031300,17.414101) and (12.433600,15.332000)..(11.668000,14.906300) + ..controls (10.902300,14.480500) and (9.125000,14.078100)..(9.125000,14.078100) + ..controls (9.125000,14.078100) and (7.875000,13.031200)..(7.140630,13.105500) + ..controls (6.406250,13.175800) and (5.773440,14.812500)..(5.773440,14.812500) + --(8.273440,18.515600)--(9.539060,21.140600)--(10.734400,22.355499) + --(11.246100,24.136700)--(12.683600,22.570299)..controls (20.597700,22.570299) and (22.316401,13.070300)..(19.257799,8.000000) + --cycle; +); + +picture _chess_mpchess_wP; +_chess_mpchess_wP:=image( +drawoptions (withcolor (1.000000,1.000000,1.000000)); +linecap := butt; +linejoin := mitered; +fill (14.156300,20.671900)..controls (12.527300,20.671900) and (11.203100,19.347700)..(11.203100,17.718800) + ..controls (11.203100,16.894501) and (11.550800,16.109400)..(12.156300,15.550800) + --(10.480500,14.832000)--(10.480500,13.085900)--(12.460900,13.089800) + ..controls (11.296900,5.554690) and (7.957030,7.871090)..(7.957030,3.695310) + --(20.449200,3.695310)..controls (20.449200,7.929690) and (17.027300,5.371090)..(15.855500,13.093800) + --(17.835899,13.125000)--(17.835899,14.859400)--(16.179701,15.566400) + ..controls (16.773399,16.125000) and (17.109400,16.902300)..(17.109400,17.718800) + ..controls (17.109400,19.351601) and (15.789100,20.671900)..(14.156300,20.671900) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.133860bp; +draw (14.156300,20.671900)..controls (12.527300,20.671900) and (11.203100,19.347700)..(11.203100,17.718800) + ..controls (11.203100,16.894501) and (11.550800,16.109400)..(12.156300,15.550800) + --(10.480500,14.832000)--(10.480500,13.085900)--(12.460900,13.089800) + ..controls (11.296900,5.554690) and (7.957030,7.871090)..(7.957030,3.695310) + --(20.449200,3.695310)..controls (20.449200,7.929690) and (17.027300,5.371090)..(15.855500,13.093800) + --(17.835899,13.125000)--(17.835899,14.859400)--(16.179701,15.566400) + ..controls (16.773399,16.125000) and (17.109400,16.902300)..(17.109400,17.718800) + ..controls (17.109400,19.351601) and (15.789100,20.671900)..(14.156300,20.671900) + --cycle; +); + +picture _chess_mpchess_wQ; +_chess_mpchess_wQ:=image(drawoptions (withcolor (1.000000,1.000000,1.000000)); +linecap := butt; +linejoin := mitered; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +drawoptions (withcolor (1.000000,1.000000,1.000000)); +pickup pencircle scaled 0.000000bp; +fill (11.261700,25.441401)..controls (10.011700,25.445299) and (8.996090,24.429701)..(8.996090,23.179701) + ..controls (8.996090,22.253901) and (9.566410,21.417999)..(10.429700,21.078100) + --(10.148400,14.992200)--(7.160160,19.882799)..controls (7.421880,20.261700) and (7.558590,20.707001)..(7.558590,21.164101) + ..controls (7.558590,22.414101) and (6.546880,23.425800)..(5.296880,23.425800) + ..controls (4.046880,23.425800) and (3.035160,22.414101)..(3.035160,21.164101) + ..controls (3.035160,20.066401) and (3.828130,19.125000)..(4.914060,18.937500) + --(8.492190,7.921880)--(19.851601,7.921880)--(23.421900,18.871099) + ..controls (24.539101,19.027300) and (25.367201,19.980499)..(25.371099,21.105499) + ..controls (25.371099,22.355499) and (24.355499,23.367201)..(23.109400,23.367201) + ..controls (21.859400,23.367201) and (20.847700,22.355499)..(20.847700,21.105499) + ..controls (20.847700,20.687500) and (20.964800,20.277300)..(21.187500,19.917999) + --(18.132799,14.992200)--(17.894501,21.085899)..controls (18.746099,21.433599) and (19.300800,22.261700)..(19.300800,23.179701) + ..controls (19.300800,24.429701) and (18.289101,25.441401)..(17.039101,25.441401) + ..controls (15.789100,25.441401) and (14.777300,24.429701)..(14.777300,23.179701) + ..controls (14.777300,22.593800) and (15.007800,22.027300)..(15.418000,21.601601) + --(14.140600,14.992200)--(12.921900,21.648399)..controls (13.308600,22.066401) and (13.519500,22.613300)..(13.523400,23.179701) + ..controls (13.523400,24.429701) and (12.507800,25.441401)..(11.261700,25.441401) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.133860bp; +draw (11.261700,25.441401)..controls (10.011700,25.445299) and (8.996090,24.429701)..(8.996090,23.179701) + ..controls (8.996090,22.253901) and (9.566410,21.417999)..(10.429700,21.078100) + --(10.148400,14.992200)--(7.160160,19.882799)..controls (7.421880,20.261700) and (7.558590,20.707001)..(7.558590,21.164101) + ..controls (7.558590,22.414101) and (6.546880,23.425800)..(5.296880,23.425800) + ..controls (4.046880,23.425800) and (3.035160,22.414101)..(3.035160,21.164101) + ..controls (3.035160,20.066401) and (3.828130,19.125000)..(4.914060,18.937500) + --(8.492190,7.921880)--(19.851601,7.921880)--(23.421900,18.871099) + ..controls (24.539101,19.027300) and (25.367201,19.980499)..(25.371099,21.105499) + ..controls (25.371099,22.355499) and (24.355499,23.367201)..(23.109400,23.367201) + ..controls (21.859400,23.367201) and (20.847700,22.355499)..(20.847700,21.105499) + ..controls (20.847700,20.687500) and (20.964800,20.277300)..(21.187500,19.917999) + --(18.132799,14.992200)--(17.894501,21.085899)..controls (18.746099,21.433599) and (19.300800,22.261700)..(19.300800,23.179701) + ..controls (19.300800,24.429701) and (18.289101,25.441401)..(17.039101,25.441401) + ..controls (15.789100,25.441401) and (14.777300,24.429701)..(14.777300,23.179701) + ..controls (14.777300,22.593800) and (15.007800,22.027300)..(15.418000,21.601601) + --(14.140600,14.992200)--(12.921900,21.648399)..controls (13.308600,22.066401) and (13.519500,22.613300)..(13.523400,23.179701) + ..controls (13.523400,24.429701) and (12.507800,25.441401)..(11.261700,25.441401) + --cycle; +); + +picture _chess_mpchess_wR; +_chess_mpchess_wR:=image(drawoptions (withcolor (1.000000,1.000000,1.000000)); +linecap := butt; +linejoin := mitered; +fill (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.250000,7.917970)..controls (22.527300,7.917970) and (22.671900,5.488280)..(22.671900,3.679690) + --(5.632810,3.679690)..controls (5.632810,5.519530) and (5.777340,7.917970)..(9.054690,7.917970) + --cycle; +drawoptions (withcolor (1.000000,1.000000,1.000000)); +pickup pencircle scaled 0.000000bp; +fill (19.851601,7.921880)--(18.125000,17.140600)--(10.199200,17.140600) + --(8.492190,7.921880)--cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.851601,7.921880)--(18.125000,17.140600)--(10.199200,17.140600) + --(8.492190,7.921880)--cycle; +drawoptions (withcolor (1.000000,1.000000,1.000000)); +pickup pencircle scaled 0.000000bp; +fill (19.609400,21.625000)--(17.171900,22.253901)--(16.644501,21.011700) + --(15.648400,21.019501)--(15.648400,22.785200)--(12.597700,22.738300) + --(12.597700,21.019501)--(11.710900,21.019501)--(11.074200,22.253901) + --(8.683590,21.382799)..controls (8.683590,21.382799) and (8.660160,17.046900)..(9.914060,17.070299) + --(18.378901,17.070299)..controls (19.628901,17.070299) and (19.609400,21.625000)..(19.609400,21.625000) + --cycle; +drawoptions (withcolor (0.000000,0.000000,0.000000)); +pickup pencircle scaled 1.174850bp; +draw (19.609400,21.625000)--(17.171900,22.253901)--(16.644501,21.011700) + --(15.648400,21.019501)--(15.648400,22.785200)--(12.597700,22.738300) + --(12.597700,21.019501)--(11.710900,21.019501)--(11.074200,22.253901) + --(8.683590,21.382799)..controls (8.683590,21.382799) and (8.660160,17.046900)..(9.914060,17.070299) + --(18.378901,17.070299)..controls (19.628901,17.070299) and (19.609400,21.625000)..(19.609400,21.625000) + --cycle; +);
\ No newline at end of file diff --git a/Master/texmf-dist/metapost/mpchess/mpchess-staunty.mp b/Master/texmf-dist/metapost/mpchess/mpchess-staunty.mp deleted file mode 100644 index 507448cb764..00000000000 --- a/Master/texmf-dist/metapost/mpchess/mpchess-staunty.mp +++ /dev/null @@ -1,1066 +0,0 @@ -picture _chess_staunty_bB; - - -_chess_staunty_bB:=image( -color _chess_black; -_chess_black:=(0.372549,0.349020,0.333333); -drawoptions (withcolor _chess_black); -%linecap := butt; -pickup pencircle scaled 3.401580bp; -fill (70.867203,125.383003)..controls (64.898399,125.383003) and (60.058601,122.890999)..(60.058601,119.816002) - --(64.359398,112.305000)..controls (18.867201,72.371101) and (48.183601,35.386700)..(48.183601,35.386700) - --(93.554703,35.386700)..controls (93.554703,35.386700) and (113.535004,59.968800)..(95.714798,90.691399) - --(87.242203,77.007797)..controls (85.339798,73.933601) and (81.675797,72.785202)..(79.027298,74.421898) - ..controls (76.375000,76.062500) and (75.773399,79.859398)..(77.675797,82.929703) - --(88.691399,100.723000)..controls (85.554703,104.539001) and (81.820297,108.402000)..(77.375000,112.305000) - --(81.675797,119.816002)..controls (81.675797,122.890999) and (76.835899,125.383003)..(70.867203,125.383003) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,125.383003)..controls (68.550797,125.383003) and (66.414101,125.003998)..(64.656303,124.371002) - ..controls (76.953102,121.964996) and (78.761703,121.198997)..(71.910202,112.039001) - --(81.113297,101.926003)..controls (70.746101,78.566399) and (76.566399,79.269501)..(76.566399,79.269501) - ..controls (76.566399,79.269501) and (78.539101,86.777298)..(88.222702,101.292999) - ..controls (85.183601,104.921997) and (81.593803,108.601997)..(77.375000,112.305000) - --(81.671898,119.816002)..controls (81.671898,122.890999) and (76.835899,125.383003)..(70.867203,125.383003) - --cycle; -fill (95.714798,90.691399)--(92.851601,86.410202)..controls (103.445000,62.558601) and (81.132797,35.390598)..(81.132797,35.390598) - --(93.550797,35.390598)..controls (94.000000,35.292999) and (113.277000,60.460899)..(95.714798,90.699203) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (42.929699,51.812500)..controls (42.308601,51.902302) and (33.226601,79.550797)..(59.242199,104.964996) - ..controls (52.718800,99.593803) and (39.015598,67.652298)..(42.929699,51.812500) - --cycle; -fill (66.023399,112.832001)--(61.835899,120.183998)..controls (61.835899,120.183998) and (62.523399,122.226997)..(66.886703,123.152000) - ..controls (61.992199,119.328003) and (64.085899,118.438004)..(66.023399,112.832001) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,125.383003)..controls (64.898399,125.383003) and (60.058601,122.890999)..(60.058601,119.816002) - --(64.359398,112.305000)..controls (18.867201,72.371101) and (48.183601,35.386700)..(48.183601,35.386700) - --(93.554703,35.386700)..controls (93.554703,35.386700) and (113.535004,59.968800)..(95.714798,90.691399) - --(87.242203,77.007797)..controls (85.339798,73.933601) and (81.675797,72.785202)..(79.027298,74.421898) - ..controls (76.375000,76.062500) and (75.773399,79.859398)..(77.675797,82.929703) - --(88.691399,100.723000)..controls (85.554703,104.539001) and (81.820297,108.402000)..(77.375000,112.305000) - --(81.675797,119.816002)..controls (81.675797,122.890999) and (76.835899,125.383003)..(70.867203,125.383003) - --cycle; -drawoptions (withcolor _chess_black); -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 0.1*_chess_black); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899) - ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800) - ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598) - ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800) - ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402) - ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601) - --cycle; -); - -picture _chess_staunty_bK; - -_chess_staunty_bK := image( -color _chess_black; -_chess_black:=(0.372549,0.349020,0.333333); - -%croix - -drawoptions (withcolor _chess_black); -linejoin := mitered; -fill (78.433601,98.578102)--(78.433601,108.621002)--(91.019501,108.621002) - --(91.019501,121.171997)--(77.031303,121.171997)--(77.031303,132.210999) - --(64.656303,132.210999)--(64.656303,121.171997)--(50.667999,121.171997) - --(50.667999,108.621002)--(63.253899,108.621002)--(63.253899,98.578102) - --cycle; - drawoptions (withcolor 0.8*_chess_black); -fill (74.238297,132.210999)--(74.238297,121.176003)--(77.035202,121.176003) - --(77.035202,132.210999)--cycle; -fill (86.824203,121.176003)--(86.824203,107.160004)--(91.019501,107.160004) - --(91.019501,121.176003)--cycle; -fill (74.242203,108.621002)--(74.242203,101.555000)--(78.437500,101.555000) - --(78.437500,108.621002)--cycle; -fill (74.242203,108.621002)--cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (78.433601,98.578102)--(78.433601,108.621002)--(91.019501,108.621002) - --(91.019501,121.171997)--(77.031303,121.171997)--(77.031303,132.210999) - --(64.656303,132.210999)--(64.656303,121.171997)--(50.667999,121.171997) - --(50.667999,108.621002)--(63.253899,108.621002)--(63.253899,98.578102); - -% support croix -drawoptions (withcolor _chess_black); -pickup pencircle scaled 0.000000bp; -linecap := butt; -linejoin := rounded; -fill (61.492199,101.438004)--(80.230499,101.438004)..controls (82.417999,101.438004) and (84.179703,99.675797)..(84.179703,97.484398) - ..controls (84.179703,95.296898) and (82.417999,93.539101)..(80.230499,93.539101) - --(61.492199,93.539101)..controls (59.300800,93.539101) and (57.539101,95.296898)..(57.539101,97.484398) - ..controls (57.539101,99.675797) and (59.300800,101.438004)..(61.492199,101.438004) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (74.878899,101.438004)..controls (76.933601,101.438004) and (78.589798,99.675797)..(78.589798,97.484398) - ..controls (78.589798,95.296898) and (76.933601,93.539101)..(74.878899,93.539101) - --(80.472702,93.539101)..controls (82.527298,93.539101) and (84.183601,95.296898)..(84.183601,97.484398) - ..controls (84.183601,99.675797) and (82.527298,101.438004)..(80.472702,101.438004) - --cycle; - drawoptions (withcolor 1.7*_chess_black); -fill (61.316399,99.664101)..controls (60.175800,99.664101) and (59.261700,98.679703)..(59.261700,97.468803) - ..controls (59.261700,96.253899) and (60.175800,95.285202)..(61.316399,95.285202) - --(63.792999,95.285202)..controls (62.656300,95.285202) and (61.738300,96.253899)..(61.738300,97.468803) - ..controls (61.738300,98.679703) and (62.656300,99.664101)..(63.792999,99.664101) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (61.492199,101.438004)--(80.230499,101.438004)..controls (82.417999,101.438004) and (84.179703,99.675797)..(84.179703,97.484398) - ..controls (84.179703,95.296898) and (82.417999,93.539101)..(80.230499,93.539101) - --(61.492199,93.539101)..controls (59.300800,93.539101) and (57.539101,95.296898)..(57.539101,97.484398) - ..controls (57.539101,99.675797) and (59.300800,101.438004)..(61.492199,101.438004) - --cycle; -drawoptions (withcolor _chess_black); -linecap := rounded; -linejoin := mitered; -fill (95.343803,36.886700)..controls (95.343803,36.886700) and (117.387001,74.640602)..(114.089996,82.003899) - ..controls (110.789001,89.367203) and (90.050797,94.753899)..(70.867203,94.753899) - ..controls (51.679699,94.753899) and (30.941401,89.371101)..(27.644501,82.003899) - ..controls (24.343800,74.644501) and (46.386700,36.886700)..(46.386700,36.886700) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.855499,94.746101)..controls (116.035004,87.312500) and (106.496002,68.226601)..(89.679703,30.843800) - --(95.425797,35.746101)..controls (95.425797,35.746101) and (117.387001,74.640602)..(114.089996,82.003899) - ..controls (109.707001,90.039101) and (92.820297,93.792999)..(70.855499,94.750000) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (95.343803,36.886700)..controls (95.343803,36.886700) and (117.387001,74.640602)..(114.089996,82.003899) - ..controls (110.789001,89.367203) and (90.050797,94.753899)..(70.867203,94.753899) - ..controls (51.679699,94.753899) and (30.941401,89.371101)..(27.644501,82.003899) - ..controls (24.343800,74.644501) and (46.386700,36.886700)..(46.386700,36.886700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (67.367203,92.710899)..controls (56.300800,93.226601) and (25.921900,87.597702)..(29.089800,78.484398) - ..controls (31.406300,67.921898) and (36.898399,57.953098)..(41.867199,48.710899) - ..controls (25.746099,78.003899) and (25.023399,87.753899)..(67.363297,92.710899) - --cycle; -fill (67.367203,92.710899)--cycle; -fill (66.304703,130.397995)--(66.257797,121.012001)--(67.804703,121.012001) - --(67.851601,130.397995)--cycle; -fill (52.328098,119.430000)--(52.304699,110.339996)--(54.496101,110.339996) - --(54.519501,119.430000)--cycle; -fill (64.835899,110.328003)--(64.910202,103.277000)--(66.382797,103.277000) - --(66.308601,110.328003)--cycle; -fill (64.835899,110.328003)--cycle; -drawoptions (withcolor _chess_black); -linecap := butt; -linejoin := rounded; -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899) - ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800) - ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598) - ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800) - ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402) - ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601) - --cycle; -); - -picture _chess_staunty_bN; - -_chess_staunty_bN:=image( -color _chess_black; -_chess_black:=(0.372549,0.349020,0.333333); - -drawoptions (withcolor _chess_black); -linecap := butt; -fill (71.410202,76.496101)..controls (70.941399,56.746101) and (38.082001,61.703098)..(38.765598,25.171900) - --(103.566002,24.835899)..controls (97.632797,43.097698) and (131.035004,96.160202)..(69.746101,116.277000) - ..controls (69.746101,116.277000) and (62.835899,123.648003)..(52.835899,124.285004) - --(53.468800,114.262001)--(40.546902,101.273003)..controls (33.093800,92.359398) and (15.785200,77.523399)..(18.574200,74.035202) - ..controls (27.406300,59.000000) and (36.519501,61.468800)..(36.519501,61.468800) - ..controls (48.542999,74.347702) and (53.015598,67.390602)..(71.410202,76.496101) - --cycle; - -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (54.765598,100.082001)..controls (52.566399,97.636703) and (52.808601,96.917999)..(52.457001,93.984398) - ..controls (54.742199,93.632797) and (56.730499,93.304703)..(58.832001,93.796898) - ..controls (65.582001,97.378899) and (59.046902,103.441002)..(54.765598,100.082001) - --cycle; -fill (26.054701,78.898399)..controls (23.648399,77.746101) and (23.226601,76.175797)..(23.058599,74.714798) - ..controls (25.125000,73.535202) and (28.378901,75.074203)..(28.847700,78.773399) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (23.218800,70.437500)..controls (23.218800,70.437500) and (25.066401,67.214798)..(20.093800,75.089798) - ..controls (21.960899,80.699203) and (43.515598,100.832001)..(55.351601,113.457001) - --(54.832001,122.207001)..controls (54.832001,122.207001) and (57.859402,117.414001)..(58.367199,112.375000) - ..controls (45.921902,99.925797) and (23.726601,81.667999)..(22.015600,74.921898) - ..controls (22.082001,73.007797) and (22.695299,72.003899)..(23.214800,70.437500) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -fill (37.585899,61.632801)..controls (43.339802,71.089798) and (61.375000,70.769501)..(71.410202,76.496101) - ..controls (72.324203,76.207001) and (71.781303,72.609398)..(72.089798,73.003899) - ..controls (74.492203,76.097702) and (80.382797,82.300797)..(74.550797,92.496101) - ..controls (76.031303,75.605499) and (35.667999,76.644501)..(29.507799,63.285198) - ..controls (28.941401,62.046902) and (35.695301,61.035198)..(37.589802,61.632801) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (73.132797,74.324203)..controls (70.261703,57.839802) and (46.078098,56.980499)..(41.988300,38.492199) - ..controls (50.019501,56.644501) and (72.492203,54.683601)..(73.132797,74.324203) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -fill (52.835899,124.285004)..controls (52.835899,124.285004) and (61.484402,122.188004)..(66.742203,112.996002) - ..controls (124.848000,92.714798) and (88.402298,33.800800)..(83.148399,24.914101) - --(103.566002,24.839800)..controls (97.933601,34.035198) and (130.632996,97.394501)..(69.746101,116.277000) - ..controls (64.714798,119.308998) and (61.902302,123.676003)..(52.835899,124.285004) - --cycle; - drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (71.410202,76.496101)..controls (70.941399,56.746101) and (38.082001,61.703098)..(38.765598,25.171900) - --(103.566002,24.835899)..controls (97.632797,43.097698) and (131.035004,96.160202)..(69.746101,116.277000) - ..controls (69.746101,116.277000) and (62.835899,123.648003)..(52.835899,124.285004) - --(53.468800,114.262001)--(40.546902,101.273003)..controls (33.093800,92.359398) and (15.785200,77.523399)..(18.574200,74.035202) - ..controls (27.406300,59.000000) and (36.519501,61.468800)..(36.519501,61.468800) - ..controls (48.542999,74.347702) and (53.015598,67.390602)..(71.410202,76.496101) - --cycle; -drawoptions (withcolor _chess_black); -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899) - ..controls (36.867199,31.058599) and (35.933601,29.335899)..(35.214802,27.769501) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800) - ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598) - ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800) - ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402) - ..controls (95.382797,36.464802) and (70.867203,36.429699)..(70.867203,36.429699) - --cycle; -); - -picture _chess_staunty_bP; -_chess_staunty_bP:=image( -color _chess_black; -_chess_black:=(0.372549,0.349020,0.333333); - -drawoptions (withcolor _chess_black); -linecap := butt; -fill (60.953098,63.511700)--(80.781303,63.511700)--(53.859402,92.101601) - ..controls (53.859402,87.191399) and (55.878899,82.503899)..(59.429699,79.097702) - --(49.082001,73.148399)--(50.304699,63.511700)--(62.511700,63.511700) - ..controls (60.257801,53.421902) and (54.699200,42.730499)..(48.160198,39.085899) - ..controls (41.621101,35.437500) and (33.136700,30.308599)..(34.433601,15.875000) - --(107.301003,15.875000)..controls (108.598000,30.308599) and (100.112999,35.437500)..(93.574203,39.085899) - ..controls (87.035202,42.730499) and (81.476601,53.421902)..(79.226601,63.511700) - --(91.429703,63.511700)--(92.652298,73.144501)--(82.304703,79.097702) - ..controls (85.855499,82.503899) and (87.875000,87.191399)..(87.875000,92.101601) - ..controls (87.875000,101.644997) and (80.425797,108.859001)..(70.867203,108.859001) - ..controls (61.304699,108.859001) and (53.855499,101.644997)..(53.855499,92.101601) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.757797,109.027000)..controls (74.078102,110.332001) and (97.765602,92.289101)..(72.593803,78.492203) - --(85.382797,72.539101)--(83.789101,63.679699)--(91.324203,63.679699) - --(92.539101,73.312500)--(82.191399,79.265602)..controls (85.746101,82.667999) and (87.753899,86.585899)..(87.761703,91.496101) - ..controls (86.433601,106.844002) and (70.757797,109.027000)..(70.757797,109.027000) - --cycle; -fill (62.402302,63.679699)..controls (75.164101,41.187500) and (89.246101,35.347698)..(99.460899,35.433601) - --(93.464798,39.253899)..controls (87.582001,43.472698) and (80.050797,53.019501)..(79.113297,63.679699) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (62.312500,78.765602)--(57.644501,72.117203)--(50.964802,72.152298) - --(62.343800,78.742203)--cycle; -fill (62.312500,78.765602)--cycle; -fill (68.902298,106.960999)..controls (61.695301,106.566002) and (52.660198,97.960899)..(56.472698,87.347702) - --(57.035198,85.523399)..controls (56.101601,95.417999) and (63.066399,105.703003)..(68.902298,106.960999) - --cycle; -fill (50.636700,35.082001)..controls (39.343800,28.542999) and (36.128899,17.671900)..(36.128899,17.671900) - ..controls (36.101601,17.671900) and (34.578098,29.507799)..(47.343800,36.539101) - ..controls (60.113300,43.558601) and (61.011700,53.968800)..(63.957001,61.746101) - ..controls (62.152302,51.246101) and (61.929699,41.617199)..(50.636700,35.082001) - --cycle; - -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (53.859402,92.101601)..controls (53.859402,87.191399) and (55.878899,82.503899)..(59.429699,79.097702) - --(49.082001,73.148399)--(50.304699,63.511700)--(62.511700,63.511700) - ..controls (60.257801,53.421902) and (54.699200,42.730499)..(48.160198,39.085899) - ..controls (41.621101,35.437500) and (33.136700,30.308599)..(34.433601,15.875000) - --(107.301003,15.875000)..controls (108.598000,30.308599) and (100.112999,35.437500)..(93.574203,39.085899) - ..controls (87.035202,42.730499) and (81.476601,53.421902)..(79.226601,63.511700) - --(91.429703,63.511700)--(92.652298,73.144501)--(82.304703,79.097702) - ..controls (85.855499,82.503899) and (87.875000,87.191399)..(87.875000,92.101601) - ..controls (87.875000,101.644997) and (80.425797,108.859001)..(70.867203,108.859001) - ..controls (61.304699,108.859001) and (53.855499,101.644997)..(53.855499,92.101601) - --cycle; - draw (60.953098,63.511700)--(80.781303,63.511700); -); - -picture _chess_staunty_bQ; - -_chess_staunty_bQ:=image( -color _chess_black; -_chess_black:=(0.372549,0.349020,0.333333); - -drawoptions (withcolor _chess_black); -fill (70.750000,127.292999)..controls (65.558601,127.292999) and (61.351601,123.539001)..(61.351601,118.910004) - ..controls (61.351601,114.273003) and (65.558601,110.519997)..(70.750000,110.519997) - ..controls (73.242203,110.519997) and (75.632797,111.402000)..(77.394501,112.976997) - ..controls (79.160202,114.546997) and (80.148399,116.680000)..(80.148399,118.910004) - ..controls (80.148399,121.128998) and (79.160202,123.262001)..(77.394501,124.835999) - ..controls (75.632797,126.414001) and (73.242203,127.292999)..(70.750000,127.292999) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.402298,125.480003)..controls (69.335899,126.078003) and (59.843800,123.198997)..(64.207001,115.348000) - ..controls (63.539101,119.726997) and (65.449203,124.426003)..(70.402298,125.480003) - --cycle; -fill (70.402298,125.480003)--cycle; -drawoptions (withcolor _chess_black); -fill (70.750000,110.519997)..controls (52.304699,110.519997) and (43.550800,93.839798)..(43.550800,81.160202) - --(98.156303,81.160202)..controls (98.156303,93.839798) and (89.195297,110.519997)..(70.750000,110.519997) - --cycle; - -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (51.480499,99.277298)..controls (54.433601,103.464996) and (59.757801,108.402000)..(70.871101,108.855003) - ..controls (69.988297,108.073997) and (57.296902,105.633003)..(51.480499,99.277298) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -fill (70.402298,127.542999)..controls (70.402298,127.542999) and (70.531303,126.866997)..(70.402298,127.542999) - ..controls (77.429703,124.339996) and (76.210899,116.633003)..(72.718803,111.816002) - ..controls (93.562500,101.035004) and (78.988297,87.246101)..(78.988297,87.246101) - --(86.644501,87.246101)..controls (91.640602,83.593803) and (107.078003,95.011703)..(75.773399,111.816002) - ..controls (85.773399,120.648003) and (76.046898,127.710999)..(70.402298,127.542999) - --cycle; - drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.750000,110.519997)..controls (52.304699,110.519997) and (43.550800,93.839798)..(43.550800,81.160202) - --(98.156303,81.160202)..controls (98.156303,93.839798) and (89.195297,110.519997)..(70.750000,110.519997) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401290bp; -draw (70.750000,127.292999)..controls (65.558601,127.292999) and (61.351601,123.539001)..(61.351601,118.910004) - ..controls (61.351601,114.273003) and (65.558601,110.519997)..(70.750000,110.519997) - ..controls (73.242203,110.519997) and (75.632797,111.402000)..(77.394501,112.976997) - ..controls (79.160202,114.546997) and (80.148399,116.680000)..(80.148399,118.910004) - ..controls (80.148399,121.128998) and (79.160202,123.262001)..(77.394501,124.835999) - ..controls (75.632797,126.414001) and (73.242203,127.292999)..(70.750000,127.292999) - --cycle; - -drawoptions (withcolor _chess_black); -fill (70.867203,98.578102)..controls (65.277298,98.578102) and (64.210899,91.062500)..(59.140598,90.468803) - ..controls (53.976601,89.867203) and (49.554699,97.019501)..(44.257801,95.390602) - ..controls (40.019501,94.085899) and (42.050800,88.019501)..(39.140598,86.390602) - ..controls (35.167999,84.167999) and (30.113300,91.585899)..(24.144501,87.234398) - ..controls (43.527302,62.210899) and (47.066399,52.148399)..(46.773399,33.890598) - --(94.957001,33.890598)..controls (94.664101,52.152302) and (98.203102,62.210899)..(117.585999,87.234398) - ..controls (111.616997,91.585899) and (106.563004,84.167999)..(102.589996,86.390602) - ..controls (99.679703,88.019501) and (101.710999,94.085899)..(97.472702,95.390602) - ..controls (92.175797,97.019501) and (87.753899,89.867203)..(82.589798,90.468803) - ..controls (77.519501,91.062500) and (76.453102,98.578102)..(70.863297,98.578102) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (28.050800,86.914101)..controls (27.664101,86.937500) and (27.109400,86.753899)..(26.750000,86.671898) - ..controls (35.484402,75.046898) and (45.386700,59.632801)..(46.871101,51.468800) - ..controls (42.886700,65.457001) and (37.613300,78.578102)..(29.468800,86.828102) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -fill (113.313004,88.628899)..controls (86.425797,60.269501) and (85.179703,37.640598)..(65.289101,33.886700) - --(94.984398,33.886700)..controls (94.695297,52.148399) and (98.230499,62.210899)..(117.616997,87.230499) - ..controls (117.616997,87.230499) and (115.664001,89.378899)..(113.313004,88.628899) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401290bp; -draw (70.867203,98.578102)..controls (65.277298,98.578102) and (64.210899,91.062500)..(59.140598,90.468803) - ..controls (53.976601,89.867203) and (49.554699,97.019501)..(44.257801,95.390602) - ..controls (40.019501,94.085899) and (42.050800,88.019501)..(39.140598,86.390602) - ..controls (35.167999,84.167999) and (30.113300,91.585899)..(24.144501,87.234398) - ..controls (43.527302,62.210899) and (47.066399,52.148399)..(46.773399,33.890598) - --(94.957001,33.890598)..controls (94.664101,52.152302) and (98.203102,62.210899)..(117.585999,87.234398) - ..controls (111.616997,91.585899) and (106.563004,84.167999)..(102.589996,86.390602) - ..controls (99.679703,88.019501) and (101.710999,94.085899)..(97.472702,95.390602) - ..controls (92.175797,97.019501) and (87.753899,89.867203)..(82.589798,90.468803) - ..controls (77.519501,91.062500) and (76.453102,98.578102)..(70.863297,98.578102) - --cycle; - -drawoptions (withcolor 1.7*_chess_black); -fill (42.269501,88.027298)..controls (42.843800,88.277298) and (45.625000,93.152298)..(47.882801,93.554703) - ..controls (43.859402,94.539101) and (43.296902,93.687500)..(42.269501,88.027298) - --cycle; -fill (63.812500,91.058601)..controls (66.511703,93.460899) and (68.441399,98.585899)..(72.988297,96.292999) - ..controls (70.726601,96.937500) and (66.710899,93.339798)..(63.812500,91.058601) - --cycle; -fill (88.214798,90.332001)..controls (88.808601,90.132797) and (94.382797,94.984398)..(96.328102,93.785202) - ..controls (96.328102,93.785202) and (92.269501,90.609398)..(88.214798,90.332001) - --cycle; -drawoptions (withcolor _chess_black); -linecap := butt; -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899) - ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800) - ..controls (44.980499,34.628899) and (70.867203,34.765598)..(70.867203,34.765598) - ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800) - ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402) - ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601) - --cycle; -); - -picture _chess_staunty_bR; -_chess_staunty_bR:=image( -color _chess_black; -_chess_black:=(0.372549,0.349020,0.333333); - -drawoptions (withcolor _chess_black); -linecap := butt; -linejoin := mitered; -fill (40.203098,114.344002)..controls (37.203098,89.496101) and (43.332001,84.082001)..(50.828098,83.867203) - --(41.429699,32.390598)--(100.296997,32.390598)--(90.898399,83.867203) - ..controls (98.398399,84.078102) and (104.527000,89.496101)..(101.523003,114.344002) - --(91.300797,115.844002)--(88.257797,105.515999)--(79.351601,105.796997) - --(77.871101,116.441002)--(63.855499,116.441002)--(62.378899,105.796997) - --(53.468800,105.515999)--(50.429699,115.844002)--cycle; - -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (50.832001,83.867203)..controls (70.187500,83.867203) and (88.015602,82.710899)..(93.203102,36.886700) - --(99.777298,35.792999)--(90.898399,82.367203)..controls (90.812500,83.234398) and (73.644501,87.527298)..(50.828098,83.867203) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (41.886700,112.762001)--(48.339802,113.578003)..controls (42.917999,112.691002) and (41.785198,98.562500)..(41.785198,98.562500) - ..controls (41.109402,99.062500) and (41.250000,112.460999)..(41.886700,112.762001) - --cycle; -fill (71.648399,114.660004)..controls (66.976601,114.660004) and (64.507797,106.875000)..(64.507797,106.875000) - --(65.464798,114.605003)--cycle; -fill (92.609398,113.910004)--(95.257797,113.573997)..controls (93.035202,112.152000) and (90.750000,107.933998)..(90.750000,107.933998) - --cycle; -fill (52.363300,82.304703)--(59.789101,83.136703)..controls (52.363300,82.304703) and (45.910198,46.136700)..(45.882801,45.964802) - --cycle; - -drawoptions (withcolor 0.8*_chess_black); -fill (96.414101,115.089996)..controls (97.425797,97.050797) and (90.886703,85.039101)..(73.621101,85.226601) - --(87.164101,83.628899)..controls (108.487999,82.753899) and (101.625000,114.258003)..(101.527000,114.339996) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (50.832001,83.867203)..controls (64.738297,85.964798) and (77.984398,85.503899)..(90.902298,83.867203); -draw (40.203098,114.344002)..controls (37.203098,89.496101) and (43.332001,84.082001)..(50.828098,83.867203) - --(41.429699,32.390598)--(100.296997,32.390598)--(90.898399,83.867203) - ..controls (98.398399,84.078102) and (104.527000,89.496101)..(101.523003,114.344002) - --(91.300797,115.844002)--(88.257797,105.515999)--(79.351601,105.796997) - --(77.871101,116.441002)--(63.855499,116.441002)--(62.378899,105.796997) - --(53.468800,105.515999)--(50.429699,115.844002)--cycle; - - drawoptions (withcolor _chess_black); -linejoin := rounded; -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.828098)..(37.917999,31.710899) - ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.773399) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.179701) - ..controls (44.980499,34.632801) and (70.867203,34.769501)..(70.867203,34.769501) - ..controls (70.867203,34.769501) and (96.750000,34.632801)..(104.008003,30.179701) - ..controls (105.116997,29.503901) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,31.000000)..(103.191002,32.242199) - ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -); - -picture _chess_staunty_wB; -_chess_staunty_wB:= image( -color _chess_black; -_chess_black:=(0.941176,0.941176,0.941176); - -drawoptions (withcolor _chess_black); -%linecap := butt; -pickup pencircle scaled 3.401580bp; -fill (70.867203,125.383003)..controls (64.898399,125.383003) and (60.058601,122.890999)..(60.058601,119.816002) - --(64.359398,112.305000)..controls (18.867201,72.371101) and (48.183601,35.386700)..(48.183601,35.386700) - --(93.554703,35.386700)..controls (93.554703,35.386700) and (113.535004,59.968800)..(95.714798,90.691399) - --(87.242203,77.007797)..controls (85.339798,73.933601) and (81.675797,72.785202)..(79.027298,74.421898) - ..controls (76.375000,76.062500) and (75.773399,79.859398)..(77.675797,82.929703) - --(88.691399,100.723000)..controls (85.554703,104.539001) and (81.820297,108.402000)..(77.375000,112.305000) - --(81.675797,119.816002)..controls (81.675797,122.890999) and (76.835899,125.383003)..(70.867203,125.383003) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,125.383003)..controls (68.550797,125.383003) and (66.414101,125.003998)..(64.656303,124.371002) - ..controls (76.953102,121.964996) and (78.761703,121.198997)..(71.910202,112.039001) - --(81.113297,101.926003)..controls (70.746101,78.566399) and (76.566399,79.269501)..(76.566399,79.269501) - ..controls (76.566399,79.269501) and (78.539101,86.777298)..(88.222702,101.292999) - ..controls (85.183601,104.921997) and (81.593803,108.601997)..(77.375000,112.305000) - --(81.671898,119.816002)..controls (81.671898,122.890999) and (76.835899,125.383003)..(70.867203,125.383003) - --cycle; -fill (95.714798,90.691399)--(92.851601,86.410202)..controls (103.445000,62.558601) and (81.132797,35.390598)..(81.132797,35.390598) - --(93.550797,35.390598)..controls (94.000000,35.292999) and (113.277000,60.460899)..(95.714798,90.699203) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (42.929699,51.812500)..controls (42.308601,51.902302) and (33.226601,79.550797)..(59.242199,104.964996) - ..controls (52.718800,99.593803) and (39.015598,67.652298)..(42.929699,51.812500) - --cycle; -fill (66.023399,112.832001)--(61.835899,120.183998)..controls (61.835899,120.183998) and (62.523399,122.226997)..(66.886703,123.152000) - ..controls (61.992199,119.328003) and (64.085899,118.438004)..(66.023399,112.832001) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,125.383003)..controls (64.898399,125.383003) and (60.058601,122.890999)..(60.058601,119.816002) - --(64.359398,112.305000)..controls (18.867201,72.371101) and (48.183601,35.386700)..(48.183601,35.386700) - --(93.554703,35.386700)..controls (93.554703,35.386700) and (113.535004,59.968800)..(95.714798,90.691399) - --(87.242203,77.007797)..controls (85.339798,73.933601) and (81.675797,72.785202)..(79.027298,74.421898) - ..controls (76.375000,76.062500) and (75.773399,79.859398)..(77.675797,82.929703) - --(88.691399,100.723000)..controls (85.554703,104.539001) and (81.820297,108.402000)..(77.375000,112.305000) - --(81.675797,119.816002)..controls (81.675797,122.890999) and (76.835899,125.383003)..(70.867203,125.383003) - --cycle; -drawoptions (withcolor _chess_black); -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 0.1*_chess_black); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899) - ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800) - ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598) - ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800) - ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402) - ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601) - --cycle; -); - -picture _chess_staunty_wK; - -_chess_staunty_wK:=image( -color _chess_black; -_chess_black:=(0.941176,0.941176,0.941176); - - -drawoptions (withcolor _chess_black); -linejoin := mitered; -fill (78.433601,98.578102)--(78.433601,108.621002)--(91.019501,108.621002) - --(91.019501,121.171997)--(77.031303,121.171997)--(77.031303,132.210999) - --(64.656303,132.210999)--(64.656303,121.171997)--(50.667999,121.171997) - --(50.667999,108.621002)--(63.253899,108.621002)--(63.253899,98.578102) - --cycle; - drawoptions (withcolor 0.8*_chess_black); -fill (74.238297,132.210999)--(74.238297,121.176003)--(77.035202,121.176003) - --(77.035202,132.210999)--cycle; -fill (86.824203,121.176003)--(86.824203,107.160004)--(91.019501,107.160004) - --(91.019501,121.176003)--cycle; -fill (74.242203,108.621002)--(74.242203,101.555000)--(78.437500,101.555000) - --(78.437500,108.621002)--cycle; -fill (74.242203,108.621002)--cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (78.433601,98.578102)--(78.433601,108.621002)--(91.019501,108.621002) - --(91.019501,121.171997)--(77.031303,121.171997)--(77.031303,132.210999) - --(64.656303,132.210999)--(64.656303,121.171997)--(50.667999,121.171997) - --(50.667999,108.621002)--(63.253899,108.621002)--(63.253899,98.578102); - -% support croix -drawoptions (withcolor _chess_black); -pickup pencircle scaled 0.000000bp; -linecap := butt; -linejoin := rounded; -fill (61.492199,101.438004)--(80.230499,101.438004)..controls (82.417999,101.438004) and (84.179703,99.675797)..(84.179703,97.484398) - ..controls (84.179703,95.296898) and (82.417999,93.539101)..(80.230499,93.539101) - --(61.492199,93.539101)..controls (59.300800,93.539101) and (57.539101,95.296898)..(57.539101,97.484398) - ..controls (57.539101,99.675797) and (59.300800,101.438004)..(61.492199,101.438004) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (74.878899,101.438004)..controls (76.933601,101.438004) and (78.589798,99.675797)..(78.589798,97.484398) - ..controls (78.589798,95.296898) and (76.933601,93.539101)..(74.878899,93.539101) - --(80.472702,93.539101)..controls (82.527298,93.539101) and (84.183601,95.296898)..(84.183601,97.484398) - ..controls (84.183601,99.675797) and (82.527298,101.438004)..(80.472702,101.438004) - --cycle; - drawoptions (withcolor 1.7*_chess_black); -fill (61.316399,99.664101)..controls (60.175800,99.664101) and (59.261700,98.679703)..(59.261700,97.468803) - ..controls (59.261700,96.253899) and (60.175800,95.285202)..(61.316399,95.285202) - --(63.792999,95.285202)..controls (62.656300,95.285202) and (61.738300,96.253899)..(61.738300,97.468803) - ..controls (61.738300,98.679703) and (62.656300,99.664101)..(63.792999,99.664101) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (61.492199,101.438004)--(80.230499,101.438004)..controls (82.417999,101.438004) and (84.179703,99.675797)..(84.179703,97.484398) - ..controls (84.179703,95.296898) and (82.417999,93.539101)..(80.230499,93.539101) - --(61.492199,93.539101)..controls (59.300800,93.539101) and (57.539101,95.296898)..(57.539101,97.484398) - ..controls (57.539101,99.675797) and (59.300800,101.438004)..(61.492199,101.438004) - --cycle; -drawoptions (withcolor _chess_black); -linecap := rounded; -linejoin := mitered; -fill (95.343803,36.886700)..controls (95.343803,36.886700) and (117.387001,74.640602)..(114.089996,82.003899) - ..controls (110.789001,89.367203) and (90.050797,94.753899)..(70.867203,94.753899) - ..controls (51.679699,94.753899) and (30.941401,89.371101)..(27.644501,82.003899) - ..controls (24.343800,74.644501) and (46.386700,36.886700)..(46.386700,36.886700) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.855499,94.746101)..controls (116.035004,87.312500) and (106.496002,68.226601)..(89.679703,30.843800) - --(95.425797,35.746101)..controls (95.425797,35.746101) and (117.387001,74.640602)..(114.089996,82.003899) - ..controls (109.707001,90.039101) and (92.820297,93.792999)..(70.855499,94.750000) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (95.343803,36.886700)..controls (95.343803,36.886700) and (117.387001,74.640602)..(114.089996,82.003899) - ..controls (110.789001,89.367203) and (90.050797,94.753899)..(70.867203,94.753899) - ..controls (51.679699,94.753899) and (30.941401,89.371101)..(27.644501,82.003899) - ..controls (24.343800,74.644501) and (46.386700,36.886700)..(46.386700,36.886700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (67.367203,92.710899)..controls (56.300800,93.226601) and (25.921900,87.597702)..(29.089800,78.484398) - ..controls (31.406300,67.921898) and (36.898399,57.953098)..(41.867199,48.710899) - ..controls (25.746099,78.003899) and (25.023399,87.753899)..(67.363297,92.710899) - --cycle; -fill (67.367203,92.710899)--cycle; -fill (66.304703,130.397995)--(66.257797,121.012001)--(67.804703,121.012001) - --(67.851601,130.397995)--cycle; -fill (52.328098,119.430000)--(52.304699,110.339996)--(54.496101,110.339996) - --(54.519501,119.430000)--cycle; -fill (64.835899,110.328003)--(64.910202,103.277000)--(66.382797,103.277000) - --(66.308601,110.328003)--cycle; -fill (64.835899,110.328003)--cycle; -drawoptions (withcolor _chess_black); -linecap := butt; -linejoin := rounded; -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899) - ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800) - ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598) - ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800) - ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402) - ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601) - --cycle; -); - -picture _chess_staunty_wN; -_chess_staunty_wN:=image( - color _chess_black; -_chess_black:=(0.941176,0.941176,0.941176); - -drawoptions (withcolor _chess_black); -linecap := butt; -fill (71.410202,76.496101)..controls (70.941399,56.746101) and (38.082001,61.703098)..(38.765598,25.171900) - --(103.566002,24.835899)..controls (97.632797,43.097698) and (131.035004,96.160202)..(69.746101,116.277000) - ..controls (69.746101,116.277000) and (62.835899,123.648003)..(52.835899,124.285004) - --(53.468800,114.262001)--(40.546902,101.273003)..controls (33.093800,92.359398) and (15.785200,77.523399)..(18.574200,74.035202) - ..controls (27.406300,59.000000) and (36.519501,61.468800)..(36.519501,61.468800) - ..controls (48.542999,74.347702) and (53.015598,67.390602)..(71.410202,76.496101) - --cycle; - -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (54.765598,100.082001)..controls (52.566399,97.636703) and (52.808601,96.917999)..(52.457001,93.984398) - ..controls (54.742199,93.632797) and (56.730499,93.304703)..(58.832001,93.796898) - ..controls (65.582001,97.378899) and (59.046902,103.441002)..(54.765598,100.082001) - --cycle; -fill (26.054701,78.898399)..controls (23.648399,77.746101) and (23.226601,76.175797)..(23.058599,74.714798) - ..controls (25.125000,73.535202) and (28.378901,75.074203)..(28.847700,78.773399) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (23.218800,70.437500)..controls (23.218800,70.437500) and (25.066401,67.214798)..(20.093800,75.089798) - ..controls (21.960899,80.699203) and (43.515598,100.832001)..(55.351601,113.457001) - --(54.832001,122.207001)..controls (54.832001,122.207001) and (57.859402,117.414001)..(58.367199,112.375000) - ..controls (45.921902,99.925797) and (23.726601,81.667999)..(22.015600,74.921898) - ..controls (22.082001,73.007797) and (22.695299,72.003899)..(23.214800,70.437500) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -fill (37.585899,61.632801)..controls (43.339802,71.089798) and (61.375000,70.769501)..(71.410202,76.496101) - ..controls (72.324203,76.207001) and (71.781303,72.609398)..(72.089798,73.003899) - ..controls (74.492203,76.097702) and (80.382797,82.300797)..(74.550797,92.496101) - ..controls (76.031303,75.605499) and (35.667999,76.644501)..(29.507799,63.285198) - ..controls (28.941401,62.046902) and (35.695301,61.035198)..(37.589802,61.632801) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (73.132797,74.324203)..controls (70.261703,57.839802) and (46.078098,56.980499)..(41.988300,38.492199) - ..controls (50.019501,56.644501) and (72.492203,54.683601)..(73.132797,74.324203) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -fill (52.835899,124.285004)..controls (52.835899,124.285004) and (61.484402,122.188004)..(66.742203,112.996002) - ..controls (124.848000,92.714798) and (88.402298,33.800800)..(83.148399,24.914101) - --(103.566002,24.839800)..controls (97.933601,34.035198) and (130.632996,97.394501)..(69.746101,116.277000) - ..controls (64.714798,119.308998) and (61.902302,123.676003)..(52.835899,124.285004) - --cycle; - drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (71.410202,76.496101)..controls (70.941399,56.746101) and (38.082001,61.703098)..(38.765598,25.171900) - --(103.566002,24.835899)..controls (97.632797,43.097698) and (131.035004,96.160202)..(69.746101,116.277000) - ..controls (69.746101,116.277000) and (62.835899,123.648003)..(52.835899,124.285004) - --(53.468800,114.262001)--(40.546902,101.273003)..controls (33.093800,92.359398) and (15.785200,77.523399)..(18.574200,74.035202) - ..controls (27.406300,59.000000) and (36.519501,61.468800)..(36.519501,61.468800) - ..controls (48.542999,74.347702) and (53.015598,67.390602)..(71.410202,76.496101) - --cycle; -drawoptions (withcolor _chess_black); -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.453100)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899) - ..controls (36.867199,31.058599) and (35.933601,29.335899)..(35.214802,27.769501) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800) - ..controls (44.984402,34.628899) and (70.867203,34.765598)..(70.867203,34.765598) - ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800) - ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402) - ..controls (95.382797,36.464802) and (70.867203,36.429699)..(70.867203,36.429699) - --cycle; -); - -picture _chess_staunty_wP; - -_chess_staunty_wP:=image( -color _chess_black; -_chess_black:=(0.941176,0.941176,0.941176); - -drawoptions (withcolor _chess_black); -linecap := butt; -fill (60.953098,63.511700)--(80.781303,63.511700)--(53.859402,92.101601) - ..controls (53.859402,87.191399) and (55.878899,82.503899)..(59.429699,79.097702) - --(49.082001,73.148399)--(50.304699,63.511700)--(62.511700,63.511700) - ..controls (60.257801,53.421902) and (54.699200,42.730499)..(48.160198,39.085899) - ..controls (41.621101,35.437500) and (33.136700,30.308599)..(34.433601,15.875000) - --(107.301003,15.875000)..controls (108.598000,30.308599) and (100.112999,35.437500)..(93.574203,39.085899) - ..controls (87.035202,42.730499) and (81.476601,53.421902)..(79.226601,63.511700) - --(91.429703,63.511700)--(92.652298,73.144501)--(82.304703,79.097702) - ..controls (85.855499,82.503899) and (87.875000,87.191399)..(87.875000,92.101601) - ..controls (87.875000,101.644997) and (80.425797,108.859001)..(70.867203,108.859001) - ..controls (61.304699,108.859001) and (53.855499,101.644997)..(53.855499,92.101601) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.757797,109.027000)..controls (74.078102,110.332001) and (97.765602,92.289101)..(72.593803,78.492203) - --(85.382797,72.539101)--(83.789101,63.679699)--(91.324203,63.679699) - --(92.539101,73.312500)--(82.191399,79.265602)..controls (85.746101,82.667999) and (87.753899,86.585899)..(87.761703,91.496101) - ..controls (86.433601,106.844002) and (70.757797,109.027000)..(70.757797,109.027000) - --cycle; -fill (62.402302,63.679699)..controls (75.164101,41.187500) and (89.246101,35.347698)..(99.460899,35.433601) - --(93.464798,39.253899)..controls (87.582001,43.472698) and (80.050797,53.019501)..(79.113297,63.679699) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (62.312500,78.765602)--(57.644501,72.117203)--(50.964802,72.152298) - --(62.343800,78.742203)--cycle; -fill (62.312500,78.765602)--cycle; -fill (68.902298,106.960999)..controls (61.695301,106.566002) and (52.660198,97.960899)..(56.472698,87.347702) - --(57.035198,85.523399)..controls (56.101601,95.417999) and (63.066399,105.703003)..(68.902298,106.960999) - --cycle; -fill (50.636700,35.082001)..controls (39.343800,28.542999) and (36.128899,17.671900)..(36.128899,17.671900) - ..controls (36.101601,17.671900) and (34.578098,29.507799)..(47.343800,36.539101) - ..controls (60.113300,43.558601) and (61.011700,53.968800)..(63.957001,61.746101) - ..controls (62.152302,51.246101) and (61.929699,41.617199)..(50.636700,35.082001) - --cycle; - -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (53.859402,92.101601)..controls (53.859402,87.191399) and (55.878899,82.503899)..(59.429699,79.097702) - --(49.082001,73.148399)--(50.304699,63.511700)--(62.511700,63.511700) - ..controls (60.257801,53.421902) and (54.699200,42.730499)..(48.160198,39.085899) - ..controls (41.621101,35.437500) and (33.136700,30.308599)..(34.433601,15.875000) - --(107.301003,15.875000)..controls (108.598000,30.308599) and (100.112999,35.437500)..(93.574203,39.085899) - ..controls (87.035202,42.730499) and (81.476601,53.421902)..(79.226601,63.511700) - --(91.429703,63.511700)--(92.652298,73.144501)--(82.304703,79.097702) - ..controls (85.855499,82.503899) and (87.875000,87.191399)..(87.875000,92.101601) - ..controls (87.875000,101.644997) and (80.425797,108.859001)..(70.867203,108.859001) - ..controls (61.304699,108.859001) and (53.855499,101.644997)..(53.855499,92.101601) - --cycle; - draw (60.953098,63.511700)--(80.781303,63.511700); -); - -picture _chess_staunty_wQ; - -_chess_staunty_wQ:=image( - color _chess_black; -_chess_black:=(0.941176,0.941176,0.941176); - -drawoptions (withcolor _chess_black); -fill (70.750000,127.292999)..controls (65.558601,127.292999) and (61.351601,123.539001)..(61.351601,118.910004) - ..controls (61.351601,114.273003) and (65.558601,110.519997)..(70.750000,110.519997) - ..controls (73.242203,110.519997) and (75.632797,111.402000)..(77.394501,112.976997) - ..controls (79.160202,114.546997) and (80.148399,116.680000)..(80.148399,118.910004) - ..controls (80.148399,121.128998) and (79.160202,123.262001)..(77.394501,124.835999) - ..controls (75.632797,126.414001) and (73.242203,127.292999)..(70.750000,127.292999) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.402298,125.480003)..controls (69.335899,126.078003) and (59.843800,123.198997)..(64.207001,115.348000) - ..controls (63.539101,119.726997) and (65.449203,124.426003)..(70.402298,125.480003) - --cycle; -fill (70.402298,125.480003)--cycle; -drawoptions (withcolor _chess_black); -fill (70.750000,110.519997)..controls (52.304699,110.519997) and (43.550800,93.839798)..(43.550800,81.160202) - --(98.156303,81.160202)..controls (98.156303,93.839798) and (89.195297,110.519997)..(70.750000,110.519997) - --cycle; - -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (51.480499,99.277298)..controls (54.433601,103.464996) and (59.757801,108.402000)..(70.871101,108.855003) - ..controls (69.988297,108.073997) and (57.296902,105.633003)..(51.480499,99.277298) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -fill (70.402298,127.542999)..controls (70.402298,127.542999) and (70.531303,126.866997)..(70.402298,127.542999) - ..controls (77.429703,124.339996) and (76.210899,116.633003)..(72.718803,111.816002) - ..controls (93.562500,101.035004) and (78.988297,87.246101)..(78.988297,87.246101) - --(86.644501,87.246101)..controls (91.640602,83.593803) and (107.078003,95.011703)..(75.773399,111.816002) - ..controls (85.773399,120.648003) and (76.046898,127.710999)..(70.402298,127.542999) - --cycle; - drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.750000,110.519997)..controls (52.304699,110.519997) and (43.550800,93.839798)..(43.550800,81.160202) - --(98.156303,81.160202)..controls (98.156303,93.839798) and (89.195297,110.519997)..(70.750000,110.519997) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401290bp; -draw (70.750000,127.292999)..controls (65.558601,127.292999) and (61.351601,123.539001)..(61.351601,118.910004) - ..controls (61.351601,114.273003) and (65.558601,110.519997)..(70.750000,110.519997) - ..controls (73.242203,110.519997) and (75.632797,111.402000)..(77.394501,112.976997) - ..controls (79.160202,114.546997) and (80.148399,116.680000)..(80.148399,118.910004) - ..controls (80.148399,121.128998) and (79.160202,123.262001)..(77.394501,124.835999) - ..controls (75.632797,126.414001) and (73.242203,127.292999)..(70.750000,127.292999) - --cycle; - -drawoptions (withcolor _chess_black); -fill (70.867203,98.578102)..controls (65.277298,98.578102) and (64.210899,91.062500)..(59.140598,90.468803) - ..controls (53.976601,89.867203) and (49.554699,97.019501)..(44.257801,95.390602) - ..controls (40.019501,94.085899) and (42.050800,88.019501)..(39.140598,86.390602) - ..controls (35.167999,84.167999) and (30.113300,91.585899)..(24.144501,87.234398) - ..controls (43.527302,62.210899) and (47.066399,52.148399)..(46.773399,33.890598) - --(94.957001,33.890598)..controls (94.664101,52.152302) and (98.203102,62.210899)..(117.585999,87.234398) - ..controls (111.616997,91.585899) and (106.563004,84.167999)..(102.589996,86.390602) - ..controls (99.679703,88.019501) and (101.710999,94.085899)..(97.472702,95.390602) - ..controls (92.175797,97.019501) and (87.753899,89.867203)..(82.589798,90.468803) - ..controls (77.519501,91.062500) and (76.453102,98.578102)..(70.863297,98.578102) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (28.050800,86.914101)..controls (27.664101,86.937500) and (27.109400,86.753899)..(26.750000,86.671898) - ..controls (35.484402,75.046898) and (45.386700,59.632801)..(46.871101,51.468800) - ..controls (42.886700,65.457001) and (37.613300,78.578102)..(29.468800,86.828102) - --cycle; -drawoptions (withcolor 0.8*_chess_black); -fill (113.313004,88.628899)..controls (86.425797,60.269501) and (85.179703,37.640598)..(65.289101,33.886700) - --(94.984398,33.886700)..controls (94.695297,52.148399) and (98.230499,62.210899)..(117.616997,87.230499) - ..controls (117.616997,87.230499) and (115.664001,89.378899)..(113.313004,88.628899) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401290bp; -draw (70.867203,98.578102)..controls (65.277298,98.578102) and (64.210899,91.062500)..(59.140598,90.468803) - ..controls (53.976601,89.867203) and (49.554699,97.019501)..(44.257801,95.390602) - ..controls (40.019501,94.085899) and (42.050800,88.019501)..(39.140598,86.390602) - ..controls (35.167999,84.167999) and (30.113300,91.585899)..(24.144501,87.234398) - ..controls (43.527302,62.210899) and (47.066399,52.148399)..(46.773399,33.890598) - --(94.957001,33.890598)..controls (94.664101,52.152302) and (98.203102,62.210899)..(117.585999,87.234398) - ..controls (111.616997,91.585899) and (106.563004,84.167999)..(102.589996,86.390602) - ..controls (99.679703,88.019501) and (101.710999,94.085899)..(97.472702,95.390602) - ..controls (92.175797,97.019501) and (87.753899,89.867203)..(82.589798,90.468803) - ..controls (77.519501,91.062500) and (76.453102,98.578102)..(70.863297,98.578102) - --cycle; - -drawoptions (withcolor 1.7*_chess_black); -fill (42.269501,88.027298)..controls (42.843800,88.277298) and (45.625000,93.152298)..(47.882801,93.554703) - ..controls (43.859402,94.539101) and (43.296902,93.687500)..(42.269501,88.027298) - --cycle; -fill (63.812500,91.058601)..controls (66.511703,93.460899) and (68.441399,98.585899)..(72.988297,96.292999) - ..controls (70.726601,96.937500) and (66.710899,93.339798)..(63.812500,91.058601) - --cycle; -fill (88.214798,90.332001)..controls (88.808601,90.132797) and (94.382797,94.984398)..(96.328102,93.785202) - ..controls (96.328102,93.785202) and (92.269501,90.609398)..(88.214798,90.332001) - --cycle; -drawoptions (withcolor _chess_black); -linecap := butt; -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.824200)..(37.917999,31.710899) - ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.769501) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.175800) - ..controls (44.980499,34.628899) and (70.867203,34.765598)..(70.867203,34.765598) - ..controls (70.867203,34.765598) and (96.750000,34.628899)..(104.008003,30.175800) - ..controls (105.116997,29.500000) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,30.996099)..(103.191002,32.234402) - ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601) - --cycle; -); - -picture _chess_staunty_wR; - -_chess_staunty_wR:=image( - color _chess_black; -_chess_black:=(0.941176,0.941176,0.941176); - -drawoptions (withcolor _chess_black); -linecap := butt; -linejoin := mitered; -fill (40.203098,114.344002)..controls (37.203098,89.496101) and (43.332001,84.082001)..(50.828098,83.867203) - --(41.429699,32.390598)--(100.296997,32.390598)--(90.898399,83.867203) - ..controls (98.398399,84.078102) and (104.527000,89.496101)..(101.523003,114.344002) - --(91.300797,115.844002)--(88.257797,105.515999)--(79.351601,105.796997) - --(77.871101,116.441002)--(63.855499,116.441002)--(62.378899,105.796997) - --(53.468800,105.515999)--(50.429699,115.844002)--cycle; - -drawoptions (withcolor 0.8*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (50.832001,83.867203)..controls (70.187500,83.867203) and (88.015602,82.710899)..(93.203102,36.886700) - --(99.777298,35.792999)--(90.898399,82.367203)..controls (90.812500,83.234398) and (73.644501,87.527298)..(50.828098,83.867203) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -fill (41.886700,112.762001)--(48.339802,113.578003)..controls (42.917999,112.691002) and (41.785198,98.562500)..(41.785198,98.562500) - ..controls (41.109402,99.062500) and (41.250000,112.460999)..(41.886700,112.762001) - --cycle; -fill (71.648399,114.660004)..controls (66.976601,114.660004) and (64.507797,106.875000)..(64.507797,106.875000) - --(65.464798,114.605003)--cycle; -fill (92.609398,113.910004)--(95.257797,113.573997)..controls (93.035202,112.152000) and (90.750000,107.933998)..(90.750000,107.933998) - --cycle; -fill (52.363300,82.304703)--(59.789101,83.136703)..controls (52.363300,82.304703) and (45.910198,46.136700)..(45.882801,45.964802) - --cycle; - -drawoptions (withcolor 0.8*_chess_black); -fill (96.414101,115.089996)..controls (97.425797,97.050797) and (90.886703,85.039101)..(73.621101,85.226601) - --(87.164101,83.628899)..controls (108.487999,82.753899) and (101.625000,114.258003)..(101.527000,114.339996) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (50.832001,83.867203)..controls (64.738297,85.964798) and (77.984398,85.503899)..(90.902298,83.867203); -draw (40.203098,114.344002)..controls (37.203098,89.496101) and (43.332001,84.082001)..(50.828098,83.867203) - --(41.429699,32.390598)--(100.296997,32.390598)--(90.898399,83.867203) - ..controls (98.398399,84.078102) and (104.527000,89.496101)..(101.523003,114.344002) - --(91.300797,115.844002)--(88.257797,105.515999)--(79.351601,105.796997) - --(77.871101,116.441002)--(63.855499,116.441002)--(62.378899,105.796997) - --(53.468800,105.515999)--(50.429699,115.844002)--cycle; - - drawoptions (withcolor _chess_black); -linejoin := rounded; -fill (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -drawoptions (withcolor 1.7*_chess_black); -pickup pencircle scaled 0.000000bp; -fill (70.867203,36.433601)..controls (70.867203,36.433601) and (46.171902,36.828098)..(37.917999,31.710899) - ..controls (36.867199,31.062500) and (35.933601,29.335899)..(35.214802,27.773399) - ..controls (35.953098,28.710899) and (36.636700,29.507799)..(37.726601,30.179701) - ..controls (44.980499,34.632801) and (70.867203,34.769501)..(70.867203,34.769501) - ..controls (70.867203,34.769501) and (96.750000,34.632801)..(104.008003,30.179701) - ..controls (105.116997,29.503901) and (105.688004,28.671900)..(106.433998,27.710899) - ..controls (106.508003,27.925800) and (105.277000,31.000000)..(103.191002,32.242199) - ..controls (95.382797,36.464802) and (70.867203,36.433601)..(70.867203,36.433601) - --cycle; -drawoptions (withcolor (0.117647,0.117647,0.117647)); -pickup pencircle scaled 3.401580bp; -draw (70.867203,38.386700)..controls (70.867203,38.386700) and (44.984402,38.253899)..(37.726601,33.796902) - ..controls (32.828098,30.792999) and (31.675800,23.449200)..(32.339802,15.875000) - --(109.390999,15.875000)..controls (110.058998,23.453100) and (108.902000,30.792999)..(104.008003,33.796902) - ..controls (96.750000,38.253899) and (70.867203,38.386700)..(70.867203,38.386700) - --cycle; -);
\ No newline at end of file diff --git a/Master/texmf-dist/metapost/mpchess/mpchess.mp b/Master/texmf-dist/metapost/mpchess/mpchess.mp index d79b984ad67..396f49ad623 100644 --- a/Master/texmf-dist/metapost/mpchess/mpchess.mp +++ b/Master/texmf-dist/metapost/mpchess/mpchess.mp @@ -2,7 +2,7 @@ %% mpchess.mp %% %% draw chessboards with metapost %% %% chupin@ceremade.dauphine.fr %% -%% Version 0.1 (mars 2023) %% +%% Version 0.2 (mars 2023) %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % This work may be distributed and/or modified under the conditions of @@ -14,8 +14,8 @@ %input format; input hatching; +input mpchess-pieces; % piece of mpchess package input mpchess-cburnett; % piece of lichess cburnett -input mpchess-staunty; % piece of lichess staunty input mpchess-skak; % piece of skak package input mpchess-chessboard; input mpchess-pgn; @@ -182,9 +182,12 @@ color _blackColorSquare,_whiteColorSquare; _blackColorSquare:=(0.549,0.6353,0.6784); _whiteColorSquare:=(0.8706,0.8912,0.902); +color _chess_main_lines_color; +_chess_main_lines_color:=0.3[_blackColorSquare,black]; - - +def set_main_lines_color(expr c)= + _chess_main_lines_color:=c; +enddef; picture _blackSquarePic, _whiteSquarePic; @@ -251,7 +254,22 @@ _chess_wQ:=_chess_cburnett_wQ; _chess_wR:=_chess_cburnett_wR; def set_pieces_theme(expr t)= - if(t="cburnett"): + if(t="mpchess"): + _chess_bB:=_chess_mpchess_bB; + _chess_bK:=_chess_mpchess_bK; + _chess_bN:=_chess_mpchess_bN; + _chess_bP:=_chess_mpchess_bP; + _chess_bQ:=_chess_mpchess_bQ; + _chess_bR:=_chess_mpchess_bR; + + + _chess_wB:=_chess_mpchess_wB; + _chess_wK:=_chess_mpchess_wK; + _chess_wN:=_chess_mpchess_wN; + _chess_wP:=_chess_mpchess_wP; + _chess_wQ:=_chess_mpchess_wQ; + _chess_wR:=_chess_mpchess_wR; + elseif(t="cburnett"): _chess_bB:=_chess_cburnett_bB; _chess_bK:=_chess_cburnett_bK; _chess_bN:=_chess_cburnett_bN; @@ -265,22 +283,7 @@ def set_pieces_theme(expr t)= _chess_wN:=_chess_cburnett_wN; _chess_wP:=_chess_cburnett_wP; _chess_wQ:=_chess_cburnett_wQ; - _chess_wR:=_chess_cburnett_wR; - elseif(t="staunty"): - _chess_bB:=_chess_staunty_bB; - _chess_bK:=_chess_staunty_bK; - _chess_bN:=_chess_staunty_bN; - _chess_bP:=_chess_staunty_bP; - _chess_bQ:=_chess_staunty_bQ; - _chess_bR:=_chess_staunty_bR; - - - _chess_wB:=_chess_staunty_wB; - _chess_wK:=_chess_staunty_wK; - _chess_wN:=_chess_staunty_wN; - _chess_wP:=_chess_staunty_wP; - _chess_wQ:=_chess_staunty_wQ; - _chess_wR:=_chess_staunty_wR; + _chess_wR:=_chess_cburnett_wR; elseif(t="skak"): _chess_bB:=_chess_skak_bB; _chess_bK:=_chess_skak_bK; @@ -960,6 +963,9 @@ def reset_mpchess= set_pieces_theme("cburnett"); _chess_white_player:=""; _chess_black_player:=""; + _chess_arrow_width:=0.08*_chessSquareU; + _chess_arrow_head:=0.4*_chessSquareU; + _chess_main_lines_color:=0.3[_blackColorSquare,black]; enddef; color _commentColor; |