2023-12-05 17:31:19 -08:00

208 lines
4.2 KiB
TeX
Executable File

% use [nosolutions] flag to hide solutions.
% use [solutions] flag to show solutions.
\documentclass[
solutions,
shortwarning
]{../../resources/ormc_handout}
\usepackage{../../resources/macros}
\usepackage{chessfss}
\usepackage{chessboard}
\usepackage{anyfontsize} % Silences some chess warnings
\usepackage{afterpage}
\usepackage[hang]{footmisc}
% A row of stars, for showing difficulty
% first arg: filled stars
% second arg: total stars
\def\liststars#1#2{%
\def\oncolor{\color{ogrape}}%
\def\offcolor{\color{white}}%
%
\count255=1%
\count254=#2%
\advance\count254 by -1%
\ifnum #1 > 0
% The $$ are required around \bigstar.
% the special \odot chess piece breaks
% star sizing if they are ommited.
\loop
{\oncolor $\bigstar$}%
\ifnum\count255 < #1
\advance\count255 by 1
\repeat%
\else%
{\oncolor $\bigstar$}%
\fi%
%
\ifnum \count255 < #2%
\loop
{\offcolor $\bigstar$}%
\ifnum\count255 < \count254
\advance\count255 by 1
\repeat%
\fi%
}
\def\startimes#1{
{\color{ogrape} $\bigstar \times #1$}
}
\def\starvalue#1{
\stars{#1}{#1} \par
\vspace{1mm}
}
\def\difficulty#1#2{
\textbf{Difficulty:} \stars{#1}{#2} \par
\vspace{1mm}
}
\def\difficultynote#1#2#3{
\textbf{Difficulty:} \stars{#1}{#2} ~ #3\par
\vspace{1mm}
}
\setchessboard{
showmover=false,
borderwidth=0.5mm,
label=false,
labelleft=true,
labelbottom=true,
normalboard,
hlabelformat=\arabic{ranklabel},
vlabelformat=\Alph{filelabel}
}
\makeatletter
\cbDefineNewPiece{white}{U}
{\raisebox{1.75mm}{\cfss@whitepiececolor
$\odot$}}
{\BlackEmptySquare%
\makebox[0pt][r]{\cfss@whitepiececolor
\raisebox{1.75mm}{\makebox[1em]{$\odot$}}}}
\long\def\manyboards#1{
\if@solutions
\chessboard[setpieces = {#1}]
\hfill
\chessboard[setpieces = {#1}]
\else
\vfill
\chessboard[setpieces = {#1}]
\hfill
\chessboard[setpieces = {#1}]
\vfill
\chessboard[setpieces = {#1}]
\hfill
\chessboard[setpieces = {#1}]
\fi
}
\@makeORMCbox{hintlist}
{Available Hints}
{black!12!white}
{black!80!white}
\long\def\hintcontent#1#2#3{
\if@solutions
\liststars{#1}{#2} \par #3
\else
\liststars{#1}{#2}
\fi\par
}
\makeatother
\uptitlel{Advanced 2}
\uptitler{Fall 2023}
\title{Retrograde Analysis}
\subtitle{
Prepared by \githref{Mark} on \today{} \\
Based on books\footnotemark{} by Raymond Smullyan
}
\begin{document}
\maketitle
\footnotetext[1]{
Most of the easy problems in this handout are from \textit{The Chess Mysteries of Sherlock Holmes}.\\
The rest are from \textit{The Chess Mysteries of the Arabian Knights}.
}
\section{Rules}
This handout contains a set of problems. \par
Each is marked with a few gold stars, which you collect by presenting a solution.
\vspace{2mm}
Below each problem is a list of hints, written next to their cost. \par
To get a hint, you must pay the marked number of stars. \par
Hints are usually provided in order, and are the same for all groups. \par
\vspace{2mm}
There is one exception: instructors may offer certain hints for a reduced fee,
judging by your explanation of what you have so far.
\begin{instructornote}
This exception is for groups that are stuck on the last bit of a problem. \par
If they've solved most of it, give them the information they already know
for a steep discount (or even for free).
\end{instructornote}
An example problem is below.
\vspace{4mm}
\generic{Problem $0$:}
\starvalue{4}
This is a problem that's worth four points. \par
Two hints are available. The first costs two stars (of the four available). \par
The second costs one of the two stars available \textit{after} revealing the first hint.
\begin{hintlist}
Hint 1:
\hintcontent{2}{4}{This is a hint. Only instructors see this.}
Hint 2:
\hintcontent{1}{2}{This is another hint.}
\end{hintlist}
\vfill
You may notice that hints often cost a significant fraction of their problem's score. \par
This is intentional---don't ask for hints unless you're very, very stuck.
\vfill
\pagebreak
\input{parts/intro}
\section{Simple problems}
\input{parts/easy}
\section{Slightly harder problems}
\input{parts/medium}
%\section{Very difficult problems}
%\input{parts/hard}
\chessboard \hfill \chessboard \par
\chessboard \hfill \chessboard \par
\chessboard \hfill \chessboard \par
\end{document}