2014年3月22日土曜日

麻雀の牌表記について

初心者であるがゆえに「自分の牌譜を記載して統計や分析を行いたい」と思いました。
そこで私が採譜を行うにあたって、牌表記についていろいろ考えたり
ネット上の記載方法などを調べてみて感じたことをメモ書き


国内での採譜記号

因みに国内で採譜記号として使われているのは下記のようです。

  1. 萬子:漢数字 例:一ニ三
  2. 筒子:◯付きアラビア数字 例:①②③
  3. 索子:アラビア数字 例:1,2,3
  4. 風牌:T、N、西、北
  5. 三元牌:白、R、中
正直に言いますと「統一感が無い」との印象です。

表記例
  • 萬子
  1. 一、ニ、三、四、五、六、七、八、九
  2. 1m,2m,3m,4m,5m,6m,7m,8m,9m 赤牌:5mr
  3. m1,m2,m4,m4,m5,m6,m7,m8,m9 赤牌:m5r
  • 筒子
  1. ①、②、③、④、⑤、⑥、⑦、⑧、⑨
  2. 1p,2p,3p,4p,5p,6p,7p,8p,9p 赤牌:5pr
  3. p1,p2,p4,p4,p5,p6,p7,p8,p9 赤牌:p5r
  • 索子
  1. 1,2,3,4,5,6,7,8,9
  2. 1s,2s,3s,4s,5s,6s,7s,8s,9s 赤牌:1sr
  3. s1,s2,s4,s4,s5,s6,s7,s8,s9 赤牌:s5r
  • 風牌
  1. 東、南、西、北
  2. E,S,W,N(そもそも使われている場面が少ない)
  3. we,ws,ww,wn
  • 三元牌
  1. 白、發、中 白ポッチ:記載ナシ
  2. W,R,C 白ポッチ:記載が見当たらない(そもそも使われている場面が少ない)
  3. dw,dr,dc 白ポッチ:dwr

感想
個人的には3の表記方法が良いと思います。
理由は
  1. 漢字を使う表記だと赤牌の表記が出来ないし、コンピューター的に機種依存文字がある『發』『①』などが含まれている
  2. 数字+アルファベットだと字牌の表記が必ずしも統一されていな
    →1p2p3p白發東南などと記載する人も居る
  3. 採譜をする際、パッと見た時に牌の種類を先に認識しますし、アルファベットの方が速記が早い
  4. 牌の種類を1文字目で判断できる点と全てアルファベット+数字のみで表記出来るのでコンピュータ的に取り扱いがしやすい
以上になります。
どうですかね?下記に統一出来ませんかね?
  • 萬子
    m1,m2,m4,m4,m5,m6,m7,m8,m9 赤牌:m5r
  • 筒子
    p1,p2,p4,p4,p5,p6,p7,p8,p9 赤牌:p5r
  • 索子
    s1,s2,s4,s4,s5,s6,s7,s8,s9 赤牌:s5r
  • 風牌
    we,ws,ww,wn
  • 三元牌
    dw,dr,dc 白ポッチ:dwr

2014年2月28日金曜日

久々に麻雀牌を触ってみた

10年ぶりぐらいに突然、久しぶりに麻雀牌を触りたくなって兼価で標準的な麻雀牌と安い麻雀マットを購入。
10年前に触ったのだって、ほんの半荘数回なので、実際に麻雀をよくやってたのは、遥か遠い過去だ(笑

既に役、符計算、点数計算も綺麗サッパリ忘れてるし、牌山積みすらおぼつかない
ハッキリ言って超初心者級σ(-_-; )
麻雀をよくやってた昔々も仲間内では麻雀知らない人が多かったし、そこまでハマってたわけでもないので点数計算も飜数(役数)だけの簡易版でやってた。
因みに麻雀ゲームもほとんどしてないし、雀荘なんて一度も行ったこと無い。


でもって数日間チョコチョコと雀牌を弄ってみて、昔々に考えてたことを思い出してた…

将棋、囲碁などに比べて、なぜ麻雀はダーティーなイメージがあり普及しないのだろう?
プロ雀士って人達も居るけど社会的地位は低いよね。(恐らく専業としての収入も)

理由を考えてみると(以下は四人半荘戦が前提)

  1. ギャンブルのイメージが強い
  2. ルールが複雑(ローカルルール含めて)特に点数計算なんて何年もやってる人でも出来ない人は多い
  3. 偶然性が高く半荘数回程度では技量が対戦結果にあまり反映されない
解消法を考えてみると

  1. 役に関してはローカル役などを無くして標準化すること
  2. W役満を無くす。(役満の重ねはアリ)
  3. 点数計算に関しては飜数だけで簡易的にやること
  4. 赤牌なんて使っちゃダメ
  5. 祝儀(チップ)なんて使っちゃダメ
  6. オカは選択制でアリだけど、ウマはダメ
  7. トビありのハコ下精算なし
  8. 王牌を無くすこと
1は、当然のことですよね。まあ役に関しては関東麻雀で、ほぼ統一していいんじゃないかな。

2は、そもそもがローカルルールですし、W役満の中で技量が必要とされるとしたら大四喜ぐらいでしょう。他は運による要素が強すぎます。

3は、初心者への敷居を下げるためには最も重要です。
また3900点などという端数も覚えるのを難しくするので止めましょう。
下記は簡易点数計算表です。
(子の1飜ツモだけは点数が整合しませんが、まあ100点の誤差です)



4、5は、そもそもギャンブル性を高めるために近年になって導入された物ですし、麻雀本来の手役を育てるという技量を軽視することになります。

6は、麻雀は基本的にゼロサム・ゲームです。もし2位が点数マイナスなのにウマで収支プラスになるなんて変でしょ?(これは祝儀にも言えることです)
オカ無しにしたければ、持ち点=原点にすれば良いので選択制としました。(例:3万点持ちの3万点返し)

7をすることで、より多くの点数を稼ぐためには誰かを飛ばさずに他家全員からまんべんなく稼ぐ必要があります。
そのためには他家の手牌を読む技術や点差計算が重要性が増します。

8が実はかなり重要で
王牌(7幢→14牌)を無くすのはギャンブル性と偶然性を薄めるとともに技量に重点を置くための双方に必須だと思います。
王牌が無くなると当然、連続ツモ、嶺上牌、ドラ、裏ドラ、槓ドラ、槓裏ドラ、明槓、暗槓、加槓も無くなります。
これによりルールが多少は簡素化されますし、何より偶然性がかなり薄まりますし、ツモ回数も(鳴きが無い場合)東南家→18回、西北家→17回という不平等も解消され各自21回となり全136牌を使うことが出来ます。
全部の牌を使うことで相手の手牌や牌山の推測精度が高くなり、それにより技能の重要性が上がって、より知的なゲームになるでしょう。(だいたい全牌の1/10もが隠れてるような状態での予測精度なんて当てになりません)
ドラが無くなっても競技ルールとしては支障はありませんし、役に関しては嶺上開花、槍槓、三槓子、四槓子が無くなります。
嶺上開花に関しては完全に運ですし、本来の麻雀の手役作りの2,3,3,3,3の形には槓子は不要でしょう。
だいたい手の内を見せずに(門前で)手作りをすることを基本としているのに、暗槓のときには晒すって矛盾してませんかね?


以上、昔々に麻雀について考えてたことを思い出しながら書いてみました。



もし麻雀にちょっと興味を持って情報を集めると直ぐに必ず『イカサマ』『賭け』とかが目に付くことになるでしょう。
事実、そんなのを取り上げたマンガや小説や雑誌がほとんどと言っていいでしょう。
こんな状態じゃあダーティーなイメージは払拭されません。
ダーティーなイメージのままじゃあ競技会とかを開催してもスポンサードするのは麻雀関係のとこだけでしょう

偶然性とギャンブル性を極力排除して技能を主体とし、ルールを簡素化することで初心者への門戸を広げることによって普及し『プロ雀士』の方々の社会的地位も向上するのじゃないかな?


2010年11月10日水曜日

[X06HT]フォントを入れ替える

AuraxTSense v8.0にしてみると、どうもフォントが中華っぽいのでフォントの入れ替えをしてみました。
今のところSoftBankメールアプリの絵文字も文字化けせずに使えてます。




使ったフォントは下記です。


空き容量を確認しておく
※/system領域が足りないと起動しなくなったりします。
  1. リカバリーモードで起動してPCとUSB接続する。 
  2.  コマンドプロンプトを起動。
  3.  adb shell
  4.  mount /system
  5. df /system
  6. 私の場合は、34MBほどの空きがありました。


既存のフォントをバックアップしておく
 SDKのtoolsにて作業して下さい。
  1. リカバリーモードで起動してPCとUSB接続する。
  2. コマンドプロンプトを起動。
  3. adb shell
  4. mount /system
  5. 念のためフォントを確認。
  6. cd /system/fonts
  7. ls
  8. exit
  9. adb pull /system/fonts/ARDJ-KK.ttf .
  10. adb pull /system/fonts/Clockopia.ttf .
  11. adb pull /system/fonts/DroidSans-Bold.ttf .
  12. adb pull /system/fonts/DroidSans.ttf .
  13. adb pull /system/fonts/DroidSansArabic.ttf .
  14. adb pull /system/fonts/DroidSansFallback.ttf .
  15. adb pull /system/fonts/DroidSansHebrew.ttf .
  16. adb pull /system/fonts/DroidSansMono.ttf .
  17. adb pull /system/fonts/DroidSansThai.ttf .
  18. adb pull /system/fonts/DroidSerif-Bold.ttf .
  19. adb pull /system/fonts/DroidSerif-BoldItalic.ttf .
  20. adb pull /system/fonts/DroidSerif-Italic.ttf .
  21. adb pull /system/fonts/DroidSerif-Regular.ttf .
  22. adb pull /system/fonts/gcsh00d-hkscs.ttf .
  23. adb pull /system/fonts/ucsh00d_c.ttf
  24. フォントのファイルはPCのtoolsにコピーされているので、別の場所にでもオリジナルとして保存しておいて下さい。
  25. 再起動して下さい。
 ※abb pullの最後の『.』を忘れないようにして下さいね


Ubuntuフォントを導入する
※既存のフォントは強制的に上書きされてしまいます。
  1. ダウンロードしたUbuntuFonts.zipファイルをSDカードのルートに保存する。
  2. ROM Managerから[リカバリへ再起動]を行います。
  3. ClockmodworkMod Recoveryのメニューからinstall zip from sdcardを選択する。
  4. choose zip from sdcardを選択し、先ほどコピーしたファイルを指定する。
  5. 暫くすれば導入完了です。
  6. rebootして下さい。



yukarryAAフォントを導入する
  1. ダウンロードしたyukarryaa_043.otfのファイル名をDroidSansJapanese.ttfへ変更する。
  2. tools配下へコピー
  3. adb shell
  4. mount /system
  5. exit
  6. adb push DroidSansJapanese.ttf /system/fonts/DroidSansJapanese.ttf
  7. ファイルがコピー出来たかadb shellを使って/system/fontsをlsしてみて下さい。
  8. 再起動して下さい。



以上が、私が今回フォントの入れ替えを行った手順です。
yukarryAAフォントの手順で、他のフォントへの入れ替えも出来ると思います。


2010年11月7日日曜日

[X06HT]AuraxTSense v8.0でSoftBankメールアプリを使う

 [X06HT]AuraxTSense v8.0を導入する でAuraxTを導入後にSoftBankメールアプリをインストールしたのですが、送受信で失敗することが多かったので、その対処方法です。


  1. 念のためにROM Managerでバックアップを取っておきましょう。
  2. 更に念のためにApnManagerでAPN情報もバックアップを取っておきましょう。
  3. SoftBankメールアプリを一旦削除。
  4. Titanium Backupで「SMS/MMSの設定]メッセージ」、「Messages Widget」の2つのアプリをアンインストールする。
  5. ※注意※「SMS/MMS/APN]端末情報保存2.2」は絶対に削除しないように!
  6.  SoftBankメールアプリをマーケットよりインストールする。
  7.  [無線とネットワーク]-[モバイルネットワークの設定]-[アクセスポイント名]-[SoftBank Internet]でAPNの設定が変わっていないかを確認する。

これで絵文字も含めて10回ほど送受信を試しましたが、問題なく使えるようになりました。
この方法は、たぶん他のカスタムROMでも使えそうですね(未確認)


暫くしたらモペログさんのMms.apkを導入してみようかと思っています。

2010年11月6日土曜日

[X06HT]AuraxTSense v8.0を導入する

あまりのメモリ容量の少なさに本来は、もっと公式ROMを使い続けるつもりだったのですが我慢が出来なくなってカスタムROMの導入を決意しました。
選定の基準はSenseUIであることとA2SD+が標準で使えることです。

候補として挙がったのはAuraxTSenseとLeeDrOiDでした。
ギリギリまで悩んだのですが、最初なのでAuraxTSenseの方が情報を得やすそうだったのでコチラにしました。


手順としては
  1. Titanium Backupでアプリケーションとデータをバックアップ
  2. リカバリーツールをAmonRA 1.7.0.1 Recovery R5へ変更(A2SD+を使うためにSDにext3のパーティションを作成するため)
  3. SDカードにext3パーティションを作成
  4. wipe
  5. ROM ManagerでバックアップとカスタムROMの導入
  6. アプリを戻す


必要なアプリをダウンロードしたり購入したりする


バックアップしておく
  1. Titanium Backupでバックアップをしておく。[バックアップ/リストア]-[menu]-[バッチ処理]-[バックアップ:全ユーザアプリ+システムデータ]
  2. ApnManagerでAPN情報をエクスポートしておく。
  3. ROM Managerで[現在のROMをバックアップ]しておく。 (万が一のため)
  4. SDの中身をPCなどにバックアップしておく。(万が一のため)



RA-desireへリカバリーツールを差し換える

  1. ダウンロードしたunrevoked3のreflash_package.exeを起動して、[メニュー]-[File]-[Custom Recovery...]でダウンロードしたRA-desireのファイルrecovery-RA-desire-v1.7.0.1-R5.imgを指定する。
  2. PCとX06HTを接続する。
  3. ダイアログにて[OK]を押す。
  4. 数回の再起動の後、doneのメッセージが出ます。
  5. unrevoked3を終了し、X06HTをPCから外す。
  6. X06HTをリカバリーモードで再起動(ボリュームボタン[-]を押しながら電源ボタン)し、RECOVERYを選択して電源ボタンを押す。
  7. 画面中央にGoogleカラーのXマークと画面下にRA-desire-v1.7.0.1-R5が表示されていれば、リカバリーツールがAmonRAへ変更されたことになります。


SDカードにext3パーティションを作成する
  1. AmonRAを起動する。
  2. トラックボールでPertition sdcardを選択する。
  3. Pertition SDを選択し、swapを32MB(設定しなくても良いそうです)、extを1024MB(好きな値)に設定
  4. SD:ext2 to ext3を選択してext2をext3へ変換する。
  5. Reboot system nowで再起動する。


Wipeを行う
※wipeを行うとX06HTは初期化されます
  1. AmonRAを起動する。
  2. Wipeを選択して、全てのWipeを順に実行する。
  3. 再起動して、初期設定を行う。
 
ROM ManagerでROMのバックアップとカスタムROMの導入を行う
  1. マーケットからROM Managerを再度インストールする。
  2. [ClockworkMod Recoveryを導入]しておく。(リカバリーツールは上書きされません)
  3. PCと接続してダウンロードしたAuraxTSense v8.0のファイル(AuraxTSense_8.0_Official_OTA_2.2_FRF91-This_is_War.zip)をSDカードのルートに保存する。
  4. X06HTをPCから外す。
  5. ROM Managerの[SDカードからROMをインストール]を選択し、先ほどコピーしたファイルを指定する。
  6. [ROMインストール前処理]のダイアログで[ROMのバックアップ]と[データとキャッシュのワイプ]にチェックをする。
  7. あとは実行して数回のリブートなどを繰り返して数分するとSoftbankのロゴが出ます。その後NexusOneと同様の起動画面が表示され、また数分間待たされた後にAuraxTSenseが起動します。
  8. 初期設定でGoogleのアカウントとWi-Fiが使えるように設定します。
  9. ApnManagerをマーケットよりインストールして、バックアップしておいたAPNをインポートします。
  10. [設定]-[無線とネットワーク]-[モバイルネットワーク設定]-[アクセスポイント名]にSoftBank Internet(open.softbank.ne.jp)が表示されていることを確認し、ラジオボタンを選択します。

 
AuraxTSense v8.0の3Gネットワークが切れる不具合の応急対応
どうもAuraxTSense v8.0には3Gネットワークが切れてしまう不具合があるらしいので、下記の方法で応急対応します。
いずれバージョンアップすれば 対応してくれるでしょう。
  1. AuraCPUManagerを起動して[DISABLE-Use SetCPU]を押す。


アプリケーションを戻す
  1. Titanium Backupをマーケットから再インストールする。
  2. [バックアップ/リストア]をスクロールしていくと、灰色になってる物が先ほどバックアップしたアプリです。選択して[復旧]して下さい。(バッチ処理でも出来るみたいですが、やってません)




[X06HT]公式2.2ROM(Froyo)からのroot化

SoftbankのX06HTに2.2(Froyo)がリリースされて、機能的にはそれほど不便を感じていなかったのですが、内蔵メモリが少なくて日常運用にも支障をきたし始めたので、カスタムROMを導入することを視野に入れつつ、まずはroot化をすることからやろうと思い立ちました。


必要なアプリをダウンロードしておく。

JDKとAndroid SDKはX06HTの接続確認とroot化した後で実際にsuが可能かどうかの確認のために使います。

JDKをインストールしてjavaのbinへPATHを通しておきます。
ここら辺は検索すれば沢山ページが出てくると思うので割愛します。


HBOOT driverを展開してandroid_winusb.infファイルを編集します。
  1.  [Google.NTx86]セクションと[Google.NTamd64]セクションの最後に下記の3行を追加。
; HTC Desire
%SingleAdbInterface%        = USB_Install, USB\Vid_0bb4&Pid_0c87
%CompositeAdbInterface%     = USB_Install, USB\Vid_0bb4&Pid_0c87&MI_01



HBOOT driver(USBドライバ)のインストール 

HTC SyncやHTC製のUSBドライバが入っていると失敗するので全て削除しておいて下さい。
X06HT側では[メニュー]-[アプリケーション開発]-[USBデバッグ]にチェックを入れておいて下さい。
  1. X06HTをリカバリーモードで起動します。(ボリュームボタンの[-]を押しながら電源を入れる)
  2. しばらくするとHBOOTの画面が立ち上がりますので、ここでPCとUSB接続をします。
  3. デバイスマネージャーを開くと「その他」にAndroid1.0が表示されているので、プロパティを開いて先に展開しておいたHBOOT driverのディレクトリを指定して、ドライバをインストールします。
  4. デバイスマネージャーに「Android Phone」のエントリが作成されます。
  5. これでUSBドライバのインストールは完了です。(PCリブートする必要があるかも知れません)


英語ですが、先記のドライバーのダウンロードページにスクリーンショット付きで説明があるので参考にして下さい。

ここで一旦、PCとX06HTを外します。
X06HTは再起動しておきましょう。


Android SDKをインストールする。
  1. ダウンロードしたファイルを展開してSDK Manager.exeを実行してインストールを行います。(C:\android-sdk-windows)
  2. インストールが終わると android-sdk-windows\toolsの中に沢山のアプリ類が入っています。
  3. C:\android-sdk-windows\toolsにPATHを通します。
  4. PCとX06HTを接続して、SDKのddms.batを実行すると、接続したX06HTが表示されるので、選択すると、ログがズラズラっと吐き出されます。
  5. ついでにadb shellも起動出来るかどうかコマンドプロンプトからadb shellを実行してみて下さい。試しにsuをしてみると「権限が無い」とのエラーが表示されます。
  6. PCとX06HTを外します。


unrevoked3でroot化する。
  1. ダウンロードしたreflash_package.exeを実行します。
  2. unrevoked3の画面が表示されて、Waiting deviceのメッセージが表示されます。
  3.  PCとX06HTを接続すると「root化するよ。いやだったらデバイスを外してね」とのダイアログが出てくるので[OK]ボタンを押します。
  4. 数回のリブート後にdoneのメッセージが表示されます。
  5. unrevoked3を終了します。
  6. X06HTのアプリケーションの一覧の中に忍者のようなアイコンが表示されているのを確認します。
  7. adb shellを実行してsuをしてみて下さい。今回はエラーが出ないと思います。
  8.  これでroot化は完了です。


Recoveryツールを確認する。
  1. 本体の電源を切って、リカバリーモードで起動します。
  2. ボリュームの[+][-]でRECOVERYを選択して電源を押して下さい。
  3. ClockworkMod Recoveryが起動すれば確認終了です。
  4. rebootして下さい。