18TKを渡しました

去年の秋、ゲームマーケットで偶然18TKを見かけて入手していました。既に1つ持っているゲームなので少し迷ったのですが、

  • きれいだし、
  • ずんださんが「欲しくて探しているけど見つからない」と言うのを聞いたことがあったし、
  • 安く感じたし*1
  • 次に入手可能なタイミングがいつ来るかわからないし、

と、脳内でたくさん言い訳をしているうちに、ケースを開けてもらって確認してお金を払っていました。私の物になっていました。
その後、ぐだぐだと半年くらい部屋に寝かせていたんですけど*2、この度、ずんださんに渡すことができました*3。良かった。

それでふと思ったのですけど、ゲームマーケットに行く動機のうちには、「行った私が行かなかった誰かにいわゆる戦利品を見せて、なにがしかの影響を与えたい」っていうのもあるのですよね。
最初は「何か面白そうだから行きたい」で、それが「あの興奮をもう一度」になって、その後に「この興奮を持ち帰りたい」が加わって、でもそんなのなかなかうまくできることではなくて、ああでもないこうでもない、そういうのがないまぜになった感情のせいでゲームマーケットに行っている、のだなあ、と、思い出しました。

*1:4000円でした。相場より下だろう、という意味では実際安いんですけど、普段ならもっともっと躊躇するだろうという意味では安くない。

*2:いや、好きなゲームって他人に渡したくないんですよ。

*3:実費はもらいました。

コントラクトブリッジに関するLaTeXコマンド

コントラクトブリッジのことをLaTeXで書こうと思いました。
まあ、tabularだろうなあと思ったのですが、先達はあらまほしきことかな、検索してみたらoneclub77さんとおっしゃる方がサンプルを公開していらっしゃいました。
http://www.geocities.jp/fqwdg204/mirror/LaTeXBridge.html
なるほど、multicolumnにするとNとSの手を横に延ばせますね。

さて、こういうのはコマンドにしたくなるものです。

\newcommand{\hand}[4]{%
\begin{tabular}{l} 
$\spadesuit$\ {\ttfamily #1} \\ 
$\heartsuit$\ {\ttfamily #2} \\ 
$\diamondsuit$\ {\ttfamily #3} \\ 
$\clubsuit$\ {\ttfamily #4} \\ 
\end{tabular}%
}

\newcommand{\conditions}[3]{%
\begin{tabular}{l} 
\footnotesize{Board {#1}} \\ 
\footnotesize{{#2} Dealt} \\ 
\footnotesize{{#3} Game} \\ 
\end{tabular}%
}

\makeatletter
\newcommand{\diagram}[6][\relax]{\@diagram{#1}{#2}{#3}{#4}{#5}{#6}}
\def\@diagram#1#2#3#4#5#6{
\def\tablesquare{%
\begin{tabular}{|ccc|} \hline  
& \texttt{N} & \\ 
\texttt{W} & \vulsymb{#2} & \texttt{E} \\ 
& \texttt{S} & \\ 
\hline \end{tabular}%
}%
\begin{tabular}{lll}
{#1} & \multicolumn{2}{l}{#3}  \\ 
{#4} & \multicolumn{1}{c}{\tablesquare} & {#5} \\ 
& \multicolumn{2}{l}{#6}\\
\end{tabular}%
}
\makeatother

\makeatletter
\newcommand{\vulsymb}[1]{\@vulsymb#1\relax\relax\relax\relax\relax\relax\relax\relax\relax}
\def\@vulsymb#1#2#3#4#5#6#7#8#9{%
\def\Hbarsymb{\texttt{-}}%
\def\Vbarsymb{\texttt{\symbol{"7C}}}%
\def\Crosssymb{\texttt{+}}%
\def\firstchar{#1}%
\if\firstchar N\Vbarsymb\fi%
\if\firstchar S\Vbarsymb\fi%
\if\firstchar E\Hbarsymb\fi%
\if\firstchar W\Hbarsymb\fi%
\if\firstchar B\Crosssymb\fi%
}
\makeatother

変更点は、フォントを私の好みに合わせてttにしたくらいです。
以下、個別に:

\newcommand{\hand}[4]{%
\begin{tabular}{l} 
$\spadesuit$\ {\ttfamily #1} \\ 
$\heartsuit$\ {\ttfamily #2} \\ 
$\diamondsuit$\ {\ttfamily #3} \\ 
$\clubsuit$\ {\ttfamily #4} \\ 
\end{tabular}%
}

第1引数から第4引数には、スペードからクラブまでを順に入れてください。
前述の通り、フォントがttになっています。
10を「10」で表記すると見づらくなりそうなので、「T」表記派向けかもしれません*1

\newcommand{\conditions}[3]{%
\begin{tabular}{l} 
\footnotesize{Board {#1}} \\ 
\footnotesize{{#2} Dealt} \\ 
\footnotesize{{#3} Game} \\ 
\end{tabular}%
}

最初は独立したコマンドではなくて直後の\diagramコマンドの一部だったんですが、\diagramの引数が多すぎて見づらくなったので独立させてしまいました。

\makeatletter
\newcommand{\diagram}[6][\relax]{\@diagram{#1}{#2}{#3}{#4}{#5}{#6}}
\def\@diagram#1#2#3#4#5#6{
\def\tablesquare{%
\begin{tabular}{|ccc|} \hline  
& \texttt{N} & \\ 
\texttt{W} & \vulsymb{#2} & \texttt{E} \\ 
& \texttt{S} & \\ 
\hline \end{tabular}%
}%
\begin{tabular}{lll}
{#1} & \multicolumn{2}{l}{#3}  \\ 
{#4} & \multicolumn{1}{c}{\tablesquare} & {#5} \\ 
& \multicolumn{2}{l}{#6}\\
\end{tabular}%
}
\makeatother

私の知識不足で、N-W-E-SとN-E-S-Wのどちらが(あるいはまったく別の順序が)コントラクトブリッジ界隈の標準なのかわからなかったので、次善策としてラップしました。
取り敢えずN-W-E-Sの順に入れるようにしてありますが、もしもN-E-S-W順に変更するなら、

\newcommand{\diagram}[6][\relax]{\@diagram{#1}{#2}{#3}{#4}{#5}{#6}}

の部分を

\newcommand{\diagram}[6][\relax]{\@diagram{#1}{#2}{#3}{#6}{#4}{#5}}

に書き換えてください。
\diagramの最初の引数には\conditionsが代入されるのを想定していますが、もちろんほかのものでも構いません。
#2にはバルネラビリティが入ります(後述)。N-SとかE-WとかBothとかを書いてください。ただし、Noneのときは空にしてください。

\makeatletter
\newcommand{\vulsymb}[1]{\@vulsymb#1\relax\relax\relax\relax\relax\relax\relax\relax\relax}
\def\@vulsymb#1#2#3#4#5#6#7#8#9{%
\def\Hbarsymb{\texttt{-}}%
\def\Vbarsymb{\texttt{\symbol{"7C}}}%
\def\Crosssymb{\texttt{+}}%
\def\firstchar{#1}%
\if\firstchar N\Vbarsymb\fi%
\if\firstchar S\Vbarsymb\fi%
\if\firstchar E\Hbarsymb\fi%
\if\firstchar W\Hbarsymb\fi%
\if\firstchar B\Crosssymb\fi%
}
\makeatother

きちんとTeXのことを知っている人が見たら、ひどいと思われるでしょう。
TeXの文字列処理をまったく知らないまま、取り敢えず知っている方法で書いたらこうなりました。
\vulsymbは、9文字までの文字列を受け取ると、その最初の文字がNかSなら縦棒、EかWなら横棒、Bなら十字に置換されます。BはBothのつもりです。
Noneと書くと縦棒になってしまうのがダメなところです。Noneのときは空にしておいてください。

タブあり版

ところで、タブが8文字幅になっちゃってて見づらいので、もう無い方がいいかと思って、上では全部取っちゃったんですが、本当はタブがありました。

\newcommand{\hand}[4]{%
	\begin{tabular}{l} 
		$\spadesuit$\ {\ttfamily #1} 	\\ 
		$\heartsuit$\ {\ttfamily #2} 	\\ 
		$\diamondsuit$\ {\ttfamily #3} 	\\ 
		$\clubsuit$\ {\ttfamily #4} 	\\ 
	\end{tabular}%
}

\newcommand{\conditions}[3]{%
	\begin{tabular}{l} 
		\footnotesize{Board {#1}} 	\\ 
		\footnotesize{{#2} Dealt} 	\\ 
		\footnotesize{{#3} Game} 	\\ 
	\end{tabular}%
}

\makeatletter
\newcommand{\diagram}[6][\relax]{\@diagram{#1}{#2}{#3}{#4}{#5}{#6}}
\def\@diagram#1#2#3#4#5#6{
	\def\tablesquare{%
		\begin{tabular}{|ccc|} \hline  		
						& \texttt{N} 	& 				\\ 
			\texttt{W} 	& \vulsymb{#2} 	& \texttt{E} 	\\ 
						& \texttt{S} 	& 				\\ 
		\hline \end{tabular}%
	}%
	\begin{tabular}{lll}
		{#1} 	& \multicolumn{2}{l}{#3} 	 				\\ 
		{#4} 	& \multicolumn{1}{c}{\tablesquare} 	& {#5} 	\\ 
				& \multicolumn{2}{l}{#6}					\\
	\end{tabular}%
}
\makeatother

\makeatletter
\newcommand{\vulsymb}[1]{\@vulsymb#1\relax\relax\relax\relax\relax\relax\relax\relax\relax}
\def\@vulsymb#1#2#3#4#5#6#7#8#9{%
	\def\Hbarsymb{\texttt{-}}%
	\def\Vbarsymb{\texttt{\symbol{"7C}}}%
	\def\Crosssymb{\texttt{+}}%
	\def\firstchar{#1}%
	\if\firstchar N\Vbarsymb\fi%
	\if\firstchar S\Vbarsymb\fi%
	\if\firstchar E\Hbarsymb\fi%
	\if\firstchar W\Hbarsymb\fi%
	\if\firstchar B\Crosssymb\fi%
}
\makeatother

*1:スペーシングすれば良いのでしょうけど、スペーシングのことを良く知らないのです。

ブリッジ語第一

身内だけで通じる言い回しに、「ブリッジ語第一を取った」「それはブリッジ語第三くらいで習う」のような言い方があります。これは、コントラクトブリッジのビッディングシステムの習熟度合を何となく指しているのであって、決してこのような科目が存在するわけではないのです。

存在するわけではないのですが、存在しない科目のシラバスを書いてみるのも面白いかもしれません。目的やら成績評価やらをでっちあげるのは面倒くさいので、15週分のサブタイトルだけ。だいたいSAYCです。

  1. イントロダクション(ルールのおさらい・ブリッジ語の歴史・HCP)
  2. フォーシングの原理
  3. キーナンバーとは
  4. オープン条件・ストロングNT
  5. 5枚メジャー・ショートクラブ・サポート枚数
  6. レスポンス1(ワンラウンドフォーシング・サインオフ・1NTレスポンス)
  7. 中間試験
  8. レスポンス2(1レベルメジャーの場合)
  9. レスポンス3(1レベルマイナーの場合・1レベルスートオープン演習)
  10. レスポンス4(1NTの場合1)
  11. レスポンス5(1NTの場合2・1NTオープン演習)
  12. ウィーク2オープンとそれに対するレスポンス
  13. ゲームフォーシング
  14. 再評価・総合演習
  15. 競り合いのビッド(ブリッジ語第二に向けて)

だいたいこんな感じ。ルールとある程度のカードプレイを知っていることを前提にするので、「ブリッジ概論」を履修していることが望ましい。

虫食い算

今年は2問作りました。
簡単:

ちょっと難しい:

ここ2年、西暦の4桁を2重に入れて8つの表出を確保していたのですが、今年は1重にしてみました。
その結果、見た目や難易調節とトレードオフになってしまいました。そんなものですよね。

観ました: 劇場版魔法少女まどか☆マギカ新編 叛逆の物語

観て来ました。渋谷で、きのうの16:15からの回です。
とても良かった。
特に、あの溶鉱炉に沈んで行くシーンには感動しました(挨拶)。

続きを読む

ハグル

夏の合宿でシド・サクソンのハグルで遊ぼうと思っています。
偶然にも古本で "A Gamut of Games" を手に入れたので、いろいろこれに近い形で(ただし、ルールセットはこれに載っているものをそのまま使うわけにはいかないと思われるので、独自のものになります)。

事前準備:

  1. 15人を想定
  2. 色カードを、5色30枚ずつ準備
  3. 情報書類を15種類2枚ずつ準備。15種類をすべて集めれば、得点計算のルールが復元される
  4. 色カード10枚と情報書類2枚を1セットとして、封筒に入れる

あとはお察しください。
夕方に配って30分ほど時間を取り、その後は自由、次の日の昼食前にみなさんから回収、って感じでどうでしょう。

注意事項など:

  • ゲーム開始前に、私に聞いたりとか調べたりとか、あまりしないでもらえると助かります
  • 当然のことながら、私はすべてのルールを知っているので参加しません
  • 回収時、無い方が良いと判断するなら、何枚でもカードを除外してかまいません
  • ほかのゲームとの干渉を排除してください