卡五星助手

kwx-banner
studio-logo-xys

当我们的聚会游戏从UNO、狼人杀逐渐过渡到卡五星时,我才发现,我们已经老了。

沃·兹基硕德《樱桃树下》

桌游几乎是大樱桃每次聚会的必备活动之一。自2016年衔接班起,大樱桃聚会的御用桌游便是UNO——一种源于国外、规则简单、极其欢乐的多人卡牌游戏。当然,大樱桃的朋友们从不缺乏创造力。大樱桃聚会上的UNO(被称为“污诺”)基于官方规则进行了调整,追求最爽快的+4体验。游戏中常常有人被加到拿不下牌,整个房间里充满了快活的气息。

背景

2020年初,一场突如其来的疫情,将本应奔向天南海北上学的樱桃们困在了家里。5月,疫情缓和以后,大樱桃的朋友们又开始了聚会和周边旅游。由于恰逢大樱桃1.0成员们的毕业季,因此这也成为了他们的毕业旅行。

在小明、韩寒等人的推动下,每次聚会在餐馆吃饭前,都要打上几圈卡五星,这也慢慢吸引了其他人的加入。后来,不仅吃饭前打,每次聚会下午、晚上还要在宾馆开房打。维也纳酒店便成为了聚会的好去处。巅峰之时,在维也纳一晚上能开两桌卡五星;甚至还分为有烟场、无烟场,从前一天中午一直打到第二天早晨。

在打卡五星的时候,常常会出现听牌看不转犹豫打什么等情况。尤其是在遇到清一色的手牌的时候,由于可以胡的牌型多样,通常需要很长时间来看,而且不一定能够看出所有的情况。这样的情形被称为“生娃子”。

人类的悲欢并不相同,我只觉得他们吵闹。

鲁迅《而已集·小杂感》

在生娃子的时候,看牌的人头上冒汗,有时还需要请人帮忙看(称为“助产”);已经听牌的人急着想摸牌胡牌,因此常常反复催促;还没听牌的人压力巨大,希望赶紧摸牌听头。因此,桌上一旦出现一个生娃子的人,便会极大地影响游戏速度和游戏体验。而小明作为生娃子的常客,自然也是承担了许多压力。作为中国科学院卡五星研究院的院士小萝卜,敏锐地注意到了这个痛点,因此决定采用自己的专业知识来解决问题。

研发

2020年9月开学后,小萝卜在玩腾讯欢乐麻将时受到了启发。欢乐麻将可以自动计算听牌胡牌,还可以提示打不同的牌时胡的子,这让玩的时候脑力轻松了许多。小萝卜因此决定开发一款这样的辅助工具,能够在线下打麻将时也能使用,彻底解决生娃子困难的问题。

在玩了几天欢乐麻将并彻底输光了欢乐豆以后,小萝卜一气之下卸载了欢乐麻将,并正式投入到卡五星助手的研发工作中来。经过反复思考,小萝卜为这款工具提出了几个需求:一是支持计算当前听什么牌;二是支持计算打什么好;三是方便多人使用不泄露牌;四是使用方便、提示信息友好。

经过一晚上的潜心研发,使用Python编写的卡五星助手横空出世。这个版本采用字符输入输出,主要是验证算法的可行性,实现前两条需求。经过简单测试,算法能够给出正确的听牌胡牌情况。卡五星助手的研发初步成功。

次日,小萝卜决定在这个算法的基础上,继续实现后两条需求。显然,Python运算、字符输入输出并不便于打麻将时使用。因此,小萝卜决定采用静态网页和JavaScript来实现真正实用的卡五星助手。

又经过了大半天的编码和调试,新版的卡五星助手面世。它具有以下特点:

随时随地,想生就生。采用纯前端架构,仅包含单个HTML文档,因此完美适配电脑、手机、平板等多端设备,不用担心不兼容!

快速助产,不用等待。简短的JavaScript代码仅在本地运行,因此具有极快的响应速度,而且不需要持续联网!

打什么好,听什么牌?支持两种模式,可在摸牌前计算当前听什么牌;或者在摸牌后列出打每张牌可以听的牌,方便您快速决策!

一目了然,如此自然。采用Unicode字符集,因此无需加载任何图片资源即可显示美观的麻将牌,手牌、听牌看起来就是这么明白!

快速输入,快快胡牌。采用全新研发的输入语言,只需要数字和5个字母即可快速输入手牌,简单易学好用!未来还将支持AI拍照识牌!

你的隐私,我来保护。独特的“一键清除”按钮,可立即清除所有手牌显示,不用担心其他人看到!全程仅在本地完成所有计算,无需连网络、手牌不上云,再也不怕手牌泄露和高科技作弊!

口误笔误,从不耽误。无论是不小心输错了牌,还是多牌少牌当了相公,它都会及时且友好地提醒你。“哥哥你相公了!”可以让你感受到程序也有亲人的温暖;“你这是什么东西啊👴吐了都”则语重心长地告诉你输入有误,让你醍醐灌顶,茅塞顿开。

测试

精益求精是小萝卜的态度。为了保证卡五星助手真正好用,小萝卜还邀请淫淫对卡五星助手进行了完善的测试。功夫不负有心人,一个算法中隐藏的bug在高强度的测试中浮现出来——对于特定的手牌,程序无法给出正确的结果。经过多次调试、逐步跟踪,这个bug最终被定位和修复。

在之后的多次测试中,卡五星助手保持了良好的表现,以100%的正确率、不到0.1秒的响应速度和强大的稳定性,成功地通过了考验。

后记

卡五星助手部署上线后,已经在多次聚会打麻将中发挥了重要的作用,为多位生不出娃子的麻友快速解围,受到了大家一致的好评。

未来,我们将会不忘初心,继续研发,将AI、计算机视觉等技术运用到卡五星助手中,为用户带来更好的使用体验。

您可以在这里使用卡五星助手:https://www.bigcherry.com.cn/mj/