2018年1月3日水曜日

バグとの闘い

わずか残り100点で迎えた南4局の親。 瀕死の状態、まさに虫の息。だが、親の連荘を重ねれば逆転も可能。 マンガのような展開。
「南郷さん、さっきツモられたとき死んだと思ったでしょ?」
「そりゃそうだ、400点しかなかったんだから」
「ところが、自摸のみのゴミ手。虫だって殺せやしない。ともかく、首の皮一枚で生き残った。今、あいつは落ち目。流れに乗っているなら、さっきの自摸にタンヤオかドラあたりが付いたはず。逆にこっちは幸運。来てる、流れは来てるよ」
「ああ、勝とうぜ」
対面の竜崎がリーチ。 いよいよもって危ない。
が、来た!
三色平和ドラ1をテンパイ。 くっそ、フリテンか…。 だが、ツモればいいんだ。九萬は場に3枚。誰か使っていれば実質0。だが、六萬がある。ロマンがある!
「リーチ!」

が、できない。リーチができない。 なんで? フリテンだから? いや、以前にフリテンリーチならできたはず…。 バグか?

答えは、100点しか持っていないから。 こういうですよ、レアケースの対処も考えなければならない、ゲームを作るときには。 まあこの場合は、仮にプログラムミスでリーチできたとしても、そこまで波風は立たないでしょう。 しかし、これがクラッシュを引き起こすバグなら、プレイヤーは怒り心頭です。

麻雀経験者に素人のフリして「リーチをかけることができる条件は?」と聞いたら 「そりゃあ、メンゼンで手作りしていることだ。鳴いていたらリーチできないからな」と、返すでしょう。 プログラムを組む時だってそうです。 メンゼンのときにテンパイすればリーチできる。と、するでしょう。 ここで、1,000点以上持っていることも条件な! と、思いつく人はかなりの切れ者です。 ルールとしては知っていても、普通は思いつかない。

そう、思考の死角。そういう目に付きにくい、考えの及びにくいところを奴らは攻めてきやがる。 バグとの闘いに終わりはない。