Skip to content

Instantly share code, notes, and snippets.

@kobalab
kobalab / Majiang-rule.md
Last active January 27, 2018 11:52
電脳麻将のルール

電脳麻将のルール

基本的には天鳳に準ずるが、以下が異なる。

  1. 国士無双十三面、四暗刻単騎、大四喜、純正九蓮宝燈はダブル役満とする
  2. 役満が複合した場合、パオは当該役満にのみ適用する
  3. 延長戦サドンデスは親の連荘にかかわらず1名でも30000点を超えた時点で打ち切りとする

1は趣味の問題、2の天鳳のルールはバグ起因と推測(直せないから仕様にしたという意味)、3は過去に議論になったようだが、現在の天鳳では親の連荘中は子に30000点越えの者が出てもサドンデスとはならず連荘を優先している。このため子の方が高得点の親子でのダブロンが続くと2名が30000点を超えて延々と延長されるという奇妙な事態が発生しえる。

@kobalab
kobalab / conv.js
Created January 31, 2018 23:39
牌譜から和了点計算を呼出すスクリプト
"use strict";
const fs = require('fs');
const path = require('path');
const zlib = require('zlib');
const assert = require('assert');
const Majiang = require('../src/js/majiang');
function conv_hupai(hupai) {
@kobalab
kobalab / hatena.css
Last active May 2, 2018 01:07
はてなダイアリーのスタイルシート
/* Global Setting */
a img { border: none; }
ul {
margin-left: 0px;
padding-left: 1.5em;
}
ul li { list-style-type: square;}
ul li li { list-style-type: circle; }
body, table { font-family: Verdana, sans-serif; font-size: 12px; }
@kobalab
kobalab / KeySetting_Default.plist
Last active May 1, 2018 14:49
High Sierra で全角スペース <-> 半角スペース 入れ換え
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>version</key>
<integer>1</integer>
<key>keys</key>
<dict>
<key>before_typing</key>
<dict>
@kobalab
kobalab / hateblo.css
Last active February 20, 2024 23:35
はてなブログのスタイルシート
/*** Responsive: yes ***/
/* 共通設定 */
a:link { color: #369; }
a:visited { color: #306; }
ul {
margin-left: 0;
padding-left: 1.5em;
}
ul li { list-style-type: square;}
@kobalab
kobalab / hateblo.html
Last active February 23, 2024 17:14
はてなブログのスマホ用スタイル
<style>
/*
* ソースコードを美しく見せる設定
*/
/* 行の折り返しのルールなどをデフォルトに戻す */
.entry-content pre {
line-height: normal;
white-space: pre;
word-break: normal;
@kobalab
kobalab / tenhou-log-all
Last active January 28, 2024 11:11
天鳳の鳳凰卓の牌譜をすべて電脳麻将形式に変換する
#!/bin/sh
#
# tenhou-log-all - 天鳳鳳凰卓(東南戦)の牌譜を電脳麻将形式で全て取得する
#
# - tenhou-log-all
# 最新(昨年分)の牌譜が公開されたかチェックする
# - tenhou-log-all workdir
# 昨年分の牌譜を電脳麻将形式に変換して workdir に取得する
# - tenhou-log-all workdir year
# year で指定した年の牌譜を電脳麻将形式に変換して workdir に取得する
@kobalab
kobalab / mjver.sh
Last active March 8, 2021 22:56
電脳麻将のバージョンを変更するスクリプト
#!/bin/sh
set -e
[ $1 ] || (echo "Usage: $0 version"; exit 1)
version=$1
npx semver ${version} || (echo "${version}: bad semver"; exit 1)
ex package.json <<++
@kobalab
kobalab / make-paipu.sh
Last active October 5, 2021 03:52
天鳳名人戦の牌譜を一括変換するスクリプト
#!/bin/sh
set -e
cd `echo $0|sed 's/\/[^\/]*$//'`
. etc/config.txt
[ ! $title ] && exit 1
[ ! $dist ] && exit 2
@kobalab
kobalab / xiangting-1M.js
Last active September 3, 2022 00:14
シャンテン数計算時間計測(1,000,000回)
/*
* シャンテン数計算時間計測(1,000,000回)
*
* 実行方法: npm test xiangting-1M.js -- --no-timeouts
*/
const assert = require('assert');
const Majiang = require('./');