5:55 起床。平日なので早めにメシを済ませたい。食欲はない。 隅田公園、本所吾妻橋駅交差点に出て押上、業平方面に歩く。完全に時間の無駄。

6:35 松屋押上店で朝食。玉子かけごはん納豆。スカイツリータウン北側の通路を向島方面に歩く。

7:00 過ぎ部屋に戻る。さっきから便意があったが PC の電源を入れた途端に飽和状態になる。 隅田公園に出てトイレを借りる。7:35 戻る。

一時間ほど昨晩の続きで配牌のコードを書いてみる。 対話的なプログラムでは牌山や配牌に変化が生じると表現側に通知がいくコードがある。

def setup_player_hands(tiles, duplicate=4):
    """The players draw tiles from tile tiles

    >>> tiles = setup_tiles()
    >>> player_hands = setup_player_hands(tiles)
    >>> print(len(player_hands))
    4
    >>> print(all(len(hand) == 13 for hand in player_hands))
    True
    """

    player_hands = [[] for _ in range(duplicate)]
    npick = 4

    # Draw blocks of npick tiles until all players have npick * 3 tiles
    for _ in range(4): # 3 turns
        for hand in player_hands:
            hand.extend(tiles[-npick:-1])
            del tiles[-npick:-1]

    # Each player then draws one last tile to make a 13-tile hand
    for hand in player_hands:
        hand.append(tiles.pop())

    return player_hands

テレビから革命のエチュードが流れてくるのでモニターを見たら名曲アルバムか。 ショパンの祖国ポーランドはロシアから独立するための革命に失敗した。

12:00 から 30 分ほど横になって寝る。買い出しに出かける。言問橋を渡って浅草エリアへ進む。

13:25 ドンキ浅草店で下着と食料を買う。633 円。 ワイシャツも欲しいがサイズが合うものがないことと、衣類は安いところが他にある可能性があるので見送る。

  • レーズンロール (5)
  • 半袖シャツ綿 (2)

13:35 西友浅草 ROX 店でポテチ塩を購入。

隅田公園に寄り道してトイレを使って 14:00 部屋に戻る。おやつを食いながらミヤネ屋を観る。

16:30 電話ボックスへ PC を持参してインターネットを要する作業を済ます。 次の二点を入手:

  • GitHub API の文書 Gist に投稿するのを自動化したいから
  • 麻雀の説明が英語でなされている文書

部屋に戻って鞄を置いてまた外出。小学生だ。

18:15 カスミオリナス錦糸町店で食料品を調達。665 円。

  • チャーハン焼きそばセット
  • 絹豆腐 (3)
  • ジャンボどら焼き
  • 温玉入り冷やし讃岐うどん

北十間川沿いに歩いて 19:00 前に向島の部屋に帰還。 なぜか再放送しているべるぜバブを観ながら晩飯をとる。国枝サンが気絶していて台詞がない。

入手資料のうち GitHub API の文書は HTML ファイル一枚ではダメだ。 Wikipedia の麻雀のページ(英語版)は読める。言い回しを頭に叩き込む。

  • 牌 (tiles): a set of 144 tiles
    • 字牌 (honors)
      • 風牌 (winds): 東南西北は普通に英単語を用いる。
      • 三元牌 (dragons): 色+ドラゴン。中ならば red dragon など。
    • 数牌 (simples): トランプの要領で呼ぶ。
      • 萬子 (characters): 例:七萬ならば seven of characters
      • 索子 (banboos, sticks, etc.)
      • 筒子 (dots, circles, wheels, etc.)
      • 色 (suits)
  • 席決め (choosing table position)
    • 起家 (first dealer)
  • 場 (prevailing wind; round)
    • 局 (hands)
  • 牌山 (walls)
  • 手牌 (one’s hand)
    • 面子 (melds)
      • 刻子・ポン (Pong): a set of three identical tiles
      • 順子・チー (Chow): a set of three Simple tiles all of the same suit, in numerical sequence
      • 槓子・カン (Kong): the complete set of four identical tiles
        • 暗槓 (concealed -)
        • 大明槓 (exposed -)
        • 加槓 (exposed - from exposed Pong)
    • 対子 (eyes, a pair): two identical tiles
  • 鳴き (melding)

キリがなくなってきた。別ファイルにまとめてノートに収納するか。

21:00 から 30 分入浴。さっきの麻雀ルールを読み続ける。 これは香港ルールらしいのだが、ここにリーチ、ドラ、河、赤牌の説明を加えれば日本式麻雀のルールとして通じるだろう。

  • 全自動卓 (automatic mahjong table)
  • さいころ (dice): roll だけでなく toss も使える。
  • 点棒 (counting sticks)
  • 牌 (tiles)
  • 親マーク (dealer marker): wind marker を兼ねる。

ページの下部にロゼッタストーンがある。しかも牌字 Unicode 一覧もある。 ハナからこのページを当たればよかったのか。

23:00 から 24:00 の間に就寝。よく憶えていない。