自定义数独谜题大小

自定义数独谜题大小

我有以下代码用于创建 4 x 4 数独拼图。但此代码的问题在于它生成的数独板太大。我希望生成一个更小的数独板,也许是此代码当前给出的数独板大小的一半或四分之三,以便我可以填充。我听说可以使用 Tikz 包来实现这一点,但玩了一整天后,我还是无所获。

在能够生成较小的 4 x 4 数独板之后,我还想做的另一件事是能够将 2 个或更多这样的数独板并排放置。所以任何帮助都非常感谢!顺便说一句,我正在使用 ShareLatex.com 撰写报告。

\documentclass{beamer}
\usepackage{tikz}
\usepackage{array}

\newcolumntype{P}{%
\rule[-6pt]{0pt}{30pt}\centering\Huge\sffamily}p{19pt}

\newcommand\TPLine{\noalign{\hrule height 1pt}}

\newcounter{shrow}
\newenvironment{shidoku}
  {\setcounter{shrow}{0}\begin{center}\begin{tabular}{!{\vrule width 2pt}P|P!{\vrule width 2pt}P|P!{\vrule width 2pt}}}
  {\end{tabular}\end{center}}

\newcommand\Srow[4]{%
  \ifnum\value{shrow}=0 \TPLine\fi\stepcounter{shrow}%
  #1 & #2 & #3 & #4\tabularnewline
  \ifnum\value{shrow}=2 \TPLine\else\ifnum\value{shrow}=4 \TPLine\else\hline\fi\fi}

\begin{document}
\frame{\titlepage}
\begin{frame}

\begin{shidoku}
\Srow{1}{2}{3}{4}
\Srow{3}{4}{1}{2}
\Srow{4}{3}{2}{1}
\Srow{2}{1}{4}{3}
\end{shidoku}

\end{frame}
\end{document}

答案1

您可以使用logicpuzzle包用于此任务。它提供了一些众所周知的谜题环境,但您可以创建自己的环境,例如 4x4 数独:

\documentclass{beamer}
\usepackage{logicpuzzle}

\newenvironment{shidoku}[1][]{%
\begin{logicpuzzle}[rows=4,columns=4,#1]
\begin{puzzleforeground}
\framepuzzle
\framearea{black}{(1,1)--(3,1)--(3,3)--(1,3)--cycle}
\framearea{black}{(3,3)--(3,5)--(5,5)--(5,3)--cycle}
\end{puzzleforeground}
}{\end{logicpuzzle}}

\begin{document}
\begin{frame}
\begin{shidoku}
\setrow{1}{1,2,3,4}
\setrow{2}{3,4,1,2}
\setrow{3}{4,3,2,1}
\setrow{4}{2,1,4,3}
\end{shidoku}
%
\begin{shidoku}[scale=.5, fontsize=scriptsize]
\setrow{1}{1,2,3,4}
\setrow{2}{3,4,1,2}
\setrow{3}{4,3,2,1}
\setrow{4}{2,1,4,3}
\end{shidoku}
\end{frame}
\end{document}

![在此处输入图片描述

相关内容