Coder Social home page Coder Social logo

fr0stbyter / majsoul-helper Goto Github PK

View Code? Open in Web Editor NEW
175.0 16.0 35.0 1.07 MB

使用天凤牌理规则,根据牌效将推荐切牌染色

Home Page: https://greasyfork.org/scripts/378059-majsoul-helper

License: Do What The F*ck You Want To Public License

JavaScript 100.00%
majsoul javascript greasemonkey

majsoul-helper's Introduction

雀魂麻将牌效辅助 License

感谢 FlyingBamboo 的巨大贡献

本项目仅供学习研究使用,使用此脚本进行游戏会导致您被官方封禁。

  1. 使用天凤牌理规则,根据牌效将推荐的切牌染色。

  2. 对河牌、副露牌进行染色,包括:

    • 别家,红:筋,蓝:现物,黄:壁候选牌;颜色越深越有用。

    • 自家,仅显示河牌和副露牌中的壁候选牌和现物

  3. 摸切的河牌灰色提示

  4. 挤房间功能

  5. 显示玩家段位

  6. 在任何情况下开启便捷提示 by @purerosefallen

Demo Demo Demo Demo

安装方法 - 浏览器

  • 安装油猴脚本 TamperMonkey
  • 导入 main.js 或打开 此链接 安装脚本

安装方法 - Majsoul Plus

1.x版本

  • resources\app\execute 中新建文件夹
  • execute.jsonmain.js 文件复制到该文件夹

2.x版本(未经过充分测试)by @TanakaKotoha

  • resources\app\extension 中新建文件夹,并设置文件夹的名字为任意英文数字字符串
  • extension.jsonmain.js 文件复制到该文件夹
  • 打开 extension.json ,在文件开头的 "id": 处填写文件夹的名字,保存

使用方法

  • 单击右下角按钮打开控制界面

  • 自动和了按钮默认开启

  • 高速加入房间功能

    如需高速加入房间(如房间 0000 ),请打开控制台 输入 add = new AddRoom(0000).start();

    停止加入,请输入 add.stop();

majsoul-helper's People

Contributors

flyingbamboo avatar fr0stbyter avatar purerosefallen avatar tanakakotoha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

majsoul-helper's Issues

请问之前的遮名字怎么不见了

之前打开插件之后名字会显示黑条并且在旁边有猫爪图案。
想知道更新脚本之后为什么又正常显示姓名了

感觉遮名字功能在复盘时非常适合问何切,希望能加进开关里面,谢谢

1005 行 错误

iew.DesktopMgr.Inst.mainrole.during_liqi = true;
view 少了个 v……
此外似乎牌山没用上……目前会出现自动立直听0张的情况

国服插件失效

进度条卡在92%进度

Uncaught TypeError: Cannot read property 'length' of undefined
at Function.e.calu_word_length (code.js:1)
at Function.e.SetNickname (code.js:1)
at o.uiscript.UI_DesktopInfo.refreshSeat (userscript.html?id=7bc89956-7905-488f-8bd7-f885d5570ea3:114)
at r.initRoom (code.js:1)
at e. (code.js:1)
at t.e.run (code.js:1)
at i. (code.js:1)
at t.e.run (code.js:1)
at i. (code.js:1)
at t.e.run (code.js:1)

关于进张数、改良数、向听倒退计算的一些想法

天凤的牌理计算只考虑了纯进张数,这里试提出一个考虑改良的方法,在下 js 实在是不熟,并且也不确定这样的计算是否对性能造成较大的影响,姑妄言之吧。


手牌A:124679m3678p2366s

这里切 1m, 4m, 9m 和 3p 都是20枚进张的两向听,但显然 1m 最好。

分别尝试切出这四枚牌——

切出 1m:24679m3678p2366s,进张 3m,5m,8m,1s,4s 各四枚。
进 3m 后,最多可得 16 枚进张的一向听。
进 5m 后,最多可得 16 枚进张的一向听。
进 8m 后,最多可得 16 枚进张的一向听。
进 1s 后,最多可得 12 枚进张的一向听。
进 4s 后,最多可得 12 枚进张的一向听。
总次轮进张数 = 16 * 4 + 16 * 4 + 16 * 4 + 12 * 4 + 12 * 4 = 288

切出 4m:12679m3678p2366s,进张 3m,5m,8m,1s,4s 各四枚。
进 3m 后,最多可得 16 枚进张的一向听。
进 5m 后,最多可得 12 枚进张的一向听。
进 8m 后,最多可得 12 枚进张的一向听。
进 1s 后,最多可得 12 枚进张的一向听。
进 4s 后,最多可得 12 枚进张的一向听。
总次轮进张数 = 16 * 4 + 12 * 4 + 12 * 4 + 12 * 4 + 12 * 4 = 256

同样计算切出 9m 和 3p 的结果,分别得到总次轮进张数为 256 和 288。

比较总次轮进张数,可知 1m 和 3p 为较好的切法。

进一步考虑改良——

切出 1m:24679m3678p2366s
进 2m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 4m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 6m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 7m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 9m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 1p 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 2p 后,最多可得 28 枚进张的两向听,增加 8 枚进张。
进 3p 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 4p 后,最多可得 28 枚进张的两向听,增加 8 枚进张。
进 5p 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 6s 后,最多可得 41 枚进张的两向听,增加 21 枚进张。
摸到其余牌进张数不变。
总次轮改良数 = 4 * 3 + 4 * 3 + 4 * 3 + 4 * 3 + 4 * 3 + 4 * 4 + 8 * 4 + 4 * 3 + 8 * 4 + 4 * 4 + 21 * 2 = 210

切出 3p:124679m678p2366s
进 1m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 2m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 4m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 6m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 7m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 9m 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 2s 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 3s 后,最多可得 24 枚进张的两向听,增加 4 枚进张。
进 6s 后,最多可得 41 枚进张的两向听,增加 21 枚进张。
摸到其余牌进张数不变。
总次轮改良数 = 4 * 3 + 4 * 3 + 4 * 3 + 4 * 3 + 4 * 3 + 4 * 3 + 4 * 3 + 4 * 3 + 21 * 2 = 138

这样就显著区分了两者。

定义 M = 本轮进张数,N = 总次轮进张数 + 总次轮改良数 * 0.25(玄学参数),比较每张切牌 M 与 N 的乘积可得兼顾进张与改良的切法。


手牌B:12378m2345p23678s

使用上述的方法,会得到 M 最大的切法是 2p 和 5p(进张数 28,可能产生单骑听牌),M * N 最大的切法是 8m 和 2m(进张数 17,必定可以形成两面听牌)

可以用两种不同的颜色来表示:

  1. M 最大的前提下,N 最大的切法。
  2. M * N 最大的切法。

向听倒退的计算:

手牌C:1224778m4556678p

进张数少得过分,切 8m 得到的一向听仅有 4 枚进张(M = 4),N 也非常低。
这里切 1m 的 N 值显著的高,并且 M * N 的乘积是后者的 36 倍,向听倒退是合理的,合适的阈值可能在 20 倍左右(并且 N 必须达到进张最多切法的 2 ~ 2.5 倍以上)。可以用另一种颜色来表示。


另外,关于牌河中壁的提示,一般 牌河 + 自己手牌 有 3 张邻牌才能形成薄壁,所以是否应该只在相邻牌数量达到 3 张以上时才显示?

A little question

May I ask how to enable the auto-play function? I've seen other issues discussing on this mechanic, but none of the documents showed anything about this.

2019/03/08 0.3.3 更新後插件失效

更新自 Greasyfork,安裝到油猴腳本。2019/03/08 0.3.3 更新後找不到前一個版本所見「雀魂輔助」按鈕,亦沒有牌河和手牌染色、自動和了、段位顯示等。

自动模式下bug

当手牌出现 一万 的时候 自动模式会失效 望修正 谢谢

Firefox下弹出窗口空白

如题。。油猴插件+脚本。。点击按钮弹出的窗口就是一片白的。。
开发者版和正式版都是一样的。。

但我不太清楚怎么抓错误记录之类的。。

几个小问题

  1. 对三人麻将中 1m/9m 的处理,三人麻将中没有 2m~8m 这几张牌。
  2. 对他家副露的处理,例如他家碰了东,又切了一张南,此时如果自己手上有一张东和一张南,脚本没有考虑到这一点,东和南的进张数仍然完全相同。

七对子的处理

很多时候虽然对子手是 1~2 向听了,但想走一般形,例如 3466888m44p1122z 这种牌,走七对子明显吃亏。
建议只在打开“不鸣牌”开关的情况下考虑对子手。

自动模式下另一个bug

ai有时按照牌理走特殊番型 此时
到听牌/一向听的时候自动模式会失效。
QQ拼音截图20190405165428
如图听国士无双 此时自动模式失效 时间结束将1s打出
望修正 谢谢

关于新版下“防”模式不生效的问题

您好,感谢开发。
新的这一版试了几局,浏览器+油猴 和 Majsoul-Plus 下也都试了下,“防”模式好像有点问题,全程手牌不会有任何牌被染色,麻烦检查一下

无法打开控制台

使用的是最新的稳定版mac端的雀魂plus。按F12也没有什么反应。请问如何打开控制台?

新版下关于设置按钮的两个问题

您好,感谢开发,更新新版之后遇到两个有关联的问题:

  1. 如果使用浏览器配合油猴插件,右下角的按钮点击后会弹出新标签(傲游5),设置完成后如果关闭标签将不能保存设置内容。
  2. 如果使用Majsoul-Plus,因为不支持新开页面,导致点击右下角按钮后不会有反应,也就无法进行设置。

新版下关于壁牌显示的问题

您好,感谢开发,更新新版之后在牌河判断上出现了之前没有的bug:

  1. 当手牌点击任何一张牌时,如果牌河里有壁牌且为摸打牌,该牌会被点亮但不会被染色
  2. 当手牌点击任何一张牌时,如果牌河里有壁牌且不为摸打牌,该牌不会被染色

疑问

两种相同牌是否能先将非宝牌丢弃。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.