Giter Site home page Giter Site logo

zhangjk95 / mahjongai Goto Github PK

View Code? Open in Web Editor NEW
144.0 144.0 46.0 1.67 MB

A Japanese Mahjong AI, which can play Mahjong on two online Japanese Mahjong services. It can easily defeat other players in 一般 (Normal level) games and also plays well in 上級 (High level) games.

License: GNU General Public License v3.0

C# 73.64% C++ 24.65% Shell 0.06% C 0.01% Dockerfile 0.15% JavaScript 1.43% Batchfile 0.06%

mahjongai's People

Contributors

dependabot[bot] avatar foreverxzc avatar hyskylord avatar sparrowhe avatar unstatik avatar zhangjk95 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

mahjongai's Issues

有报错诶MahjongAI.exe Error: 0 : System.ArgumentNullException: 值不能为 null。

这个报错也不是很长见。。。
我用的VS2019编译的。

[13:50:26] 游戏结束.
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":".lq.NotifyGameFinishReward","Json":{"mode_id":9,"level_change":{"origin":{"id":10401,"score":1172},"final":{"id":10401,"score":1280}},"match_chest":{"chest_id":2,"origin":380,"final":740,"is_graded":false},"main_character":{"level":4,"exp":14740,"add":60}},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":".lq.NotifyActivityReward","Json":{},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":false,"Type":0,"MethodName":null,"Json":null,"Data":"010A172E6C712E4E6F746966794163746976697479506F696E741200"}

MahjongAI.exe Error: 0 : System.ArgumentNullException: 值不能为 null。
参数名: key
在 System.Collections.Generic.Dictionary2.FindEntry(TKey key) 在 System.Collections.Generic.Dictionary2.ContainsKey(TKey key)
在 MahjongAI.MajsoulClient.HandleMessage(MajsoulMessage message, Boolean forSync)
在 MahjongAI.MajsoulClient.d__54.MoveNext()

MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.heatbeat","Json":null,"Data":{"no_operation_counter":0}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.heatbeat","Json":{"error":{}},"Data":null}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.heatbeat","Json":null,"Data":{"no_operation_counter":0}}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.heatbeat","Json":null,"Data":{"no_operation_counter":0}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.heatbeat","Json":{"error":{}},"Data":null}
[13:50:36] 客户端关闭.

这是不是太激进了?

QQ图片20190603145737
从听14p变成了听36p...不论西是不是役牌都不应该碰啊,听牌强度降低,有人立直也少了3张安牌

cannot connect to majsoul server

System.Net.WebException
HResult=0x80131509
Message=操作超时
Source=System
StackTrace:
在 System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
在 System.Net.WebClient.DownloadString(Uri address)
在 System.Net.WebClient.DownloadString(String address)
在 MahjongAI.MajsoulClient.getServerHost(String serverListUrl)
在 MahjongAI.MajsoulClient..ctor(Config config)
在 MahjongAI.Program.Start(Config config)
在 MahjongAI.Program.Main(String[] args)

道理我都懂,但是大量报错编译失败

严重性	代码	说明	项目	文件	行	禁止显示状态
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	161	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	288	活动
错误	CS1525	表达式项“int”无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	301	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	301	活动
错误	CS1525	表达式项“int”无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	315	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	315	活动
错误	CS1525	表达式项“int”无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	388	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	388	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	418	活动
错误	CS1525	表达式项“int”无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	424	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	424	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIControllerDef.cs	103	活动
错误	CS1525	表达式项“int”无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIControllerHelper.cs	96	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIControllerHelper.cs	96	活动
错误	CS1001	应输入标识符	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1515	应为 "in"	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1003	语法错误,应输入“=>”	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1525	表达式项“in”无效	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1026	应输入 )	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1525	表达式项“in”无效	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1002	应输入 ;	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1513	应输入 }	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1002	应输入 ;	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1513	应输入 }	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS1525	表达式项“int”无效	MahjongAI	L:\works\MahjongAI\MahjongAI\Program.cs	105	活动
错误	CS1003	语法错误,应输入“,”	MahjongAI	L:\works\MahjongAI\MahjongAI\Program.cs	105	活动
错误	CS0246	未能找到类型或命名空间名“Newtonsoft”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	12	活动
错误	CS0246	未能找到类型或命名空间名“WebSocketSharp”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	13	活动
错误	CS0246	未能找到类型或命名空间名“WebSocket”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	25	活动
错误	CS0246	未能找到类型或命名空间名“WebSocket”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	26	活动
错误	CS0246	未能找到类型或命名空间名“JToken”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	31	活动
错误	CS0246	未能找到类型或命名空间名“JToken”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	249	活动
错误	CS0246	未能找到类型或命名空间名“JToken”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	568	活动
错误	CS0246	未能找到类型或命名空间名“MessageEventArgs”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	737	活动
错误	CS0246	未能找到类型或命名空间名“WebSocketSharp”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	751	活动
错误	CS0246	未能找到类型或命名空间名“WebSocket”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	764	活动
错误	CS0305	使用泛型 类型“List<T>”需要 1 个类型参数	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	161	活动
错误	CS0119	“Tuple”是一个 类型,这在给定的上下文中无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	161	活动
错误	CS0119	“Tile”是一个 类型,这在给定的上下文中无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	161	活动
错误	CS0119	“EvalResult”是一个 类型,这在给定的上下文中无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	161	活动
错误	CS0103	当前上下文中不存在名称“options”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	161	活动
错误	CS0118	“EvalResult”是 类型,但此处被当做 变量 来使用	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	161	活动
错误	CS0103	当前上下文中不存在名称“evalResult”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	161	活动
错误	CS0103	当前上下文中不存在名称“evalResult”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	162	活动
错误	CS0103	当前上下文中不存在名称“evalResult”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	172	活动
错误	CS0103	当前上下文中不存在名称“options”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	183	活动
错误	CS0118	“EvalResult”是 类型,但此处被当做 变量 来使用	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	288	活动
错误	CS0103	当前上下文中不存在名称“evalResult”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	288	活动
错误	CS0305	使用泛型 类型“List<T>”需要 1 个类型参数	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	293	活动
错误	CS0119	“Tuple”是一个 类型,这在给定的上下文中无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	293	活动
错误	CS0119	“Tile”是一个 类型,这在给定的上下文中无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	293	活动
错误	CS0119	“EvalResult”是一个 类型,这在给定的上下文中无效	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	293	活动
错误	CS0103	当前上下文中不存在名称“options”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	293	活动
错误	CS0103	当前上下文中不存在名称“currentNormalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	301	活动
错误	CS0103	当前上下文中不存在名称“tmpNormalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	315	活动
错误	CS0103	当前上下文中不存在名称“currentNormalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	316	活动
错误	CS0103	当前上下文中不存在名称“tmpNormalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	316	活动
错误	CS0103	当前上下文中不存在名称“currentNormalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	316	活动
错误	CS0103	当前上下文中不存在名称“normalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	388	活动
错误	CS0103	当前上下文中不存在名称“normalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	389	活动
错误	CS0118	“EvalResult”是 类型,但此处被当做 变量 来使用	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	418	活动
错误	CS0103	当前上下文中不存在名称“result”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	418	活动
错误	CS0103	当前上下文中不存在名称“tmpNormalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	424	活动
错误	CS0103	当前上下文中不存在名称“tmpNormalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	425	活动
错误	CS0103	当前上下文中不存在名称“result”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	429	活动
错误	CS0103	当前上下文中不存在名称“result”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	433	活动
错误	CS0103	当前上下文中不存在名称“result”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	437	活动
错误	CS0103	当前上下文中不存在名称“tmpNormalDistance”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	440	活动
错误	CS0103	当前上下文中不存在名称“result”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	443	活动
错误	CS0103	当前上下文中不存在名称“result”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	445	活动
错误	CS0103	当前上下文中不存在名称“result”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	447	活动
错误	CS0103	当前上下文中不存在名称“result”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIController.cs	451	活动
错误	CS0118	“DefEvalResult”是 类型,但此处被当做 变量 来使用	MahjongAI	L:\works\MahjongAI\MahjongAI\AIControllerDef.cs	103	活动
错误	CS0103	当前上下文中不存在名称“defEvalResult”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIControllerDef.cs	103	活动
错误	CS0103	当前上下文中不存在名称“tmp”	MahjongAI	L:\works\MahjongAI\MahjongAI\AIControllerHelper.cs	96	活动
错误	CS0246	未能找到类型或命名空间名“WebSocket”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	50	活动
错误	CS0246	未能找到类型或命名空间名“WebSocket”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	258	活动
错误	CS0246	未能找到类型或命名空间名“JToken”(是否缺少 using 指令或程序集引用?)	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	525	活动
错误	CS0446	Foreach 不能操作“lambda 表达式”。是否要调用“lambda 表达式”?	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	629	活动
错误	CS0103	当前上下文中不存在名称“from”	MahjongAI	L:\works\MahjongAI\MahjongAI\MajsoulClient.cs	631	活动

????

不能正常用

登录成功之后 总是说匹配超时然后重连
`

Login succeeded.
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":".lq.NotifyAccountUpdate","Json":{"update":{"activity_task":{"progresses":[{"id":1031025,"counter":1,"achieved":true,"rewarded":false},{"id":1031026,"counter":10,"achieved":true,"rewarded":false},{"id":1031027,"counter":1,"achieved":false,"rewarded":false}]}}},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.matchGame","Json":{"error":{}},"Data":null}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.heatbeat","Json":null,"Data":{"no_operation_counter":0}}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.heatbeat","Json":null,"Data":{"no_operation_counter":0}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.heatbeat","Json":{"error":{}},"Data":null}
Game matching timed out.
Unexpectedly disconnected.
Client closed.Login succeeded.
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":".lq.NotifyAccountUpdate","Json":{"update":{"activity_task":{"progresses":[{"id":1031025,"counter":1,"achieved":true,"rewarded":false},{"id":1031026,"counter":10,"achieved":true,"rewarded":false},{"id":1031027,"counter":1,"achieved":false,"rewarded":false}]}}},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.matchGame","Json":{"error":{}},"Data":null}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.heatbeat","Json":null,"Data":{"no_operation_counter":0}}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.heatbeat","Json":null,"Data":{"no_operation_counter":0}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.heatbeat","Json":{"error":{}},"Data":null}
Game matching timed out.
Unexpectedly disconnected.
Client closed.

`

咱还不信邪啊 在网页端开了一局之后 想让它重连进去 结果还是不行

Login succeeded.
Game found. Connecting...
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.FastTest.authGame","Json":null,"Data":{"account_id":8447372,"token":"c4b8d64e-621f-4cb4-8c47-c4968da822f2","game_uuid":"200108-b57d8755-e05f-4621-b063-504ec02221b1"}}
MahjongAI.exe Information: 0 : Recv: {"Success":false,"Type":1,"MethodName":".lq.FastTest.authGame","Json":null,"Data":"0301000A00129903127708BBEB461099C61818CACF242215E381B5E3818FE38198E781ACE381BFE381BBE381932A0608D94F109901320E08D69A0C100518002899C61830003A0608859D011000400048005206080010EACE125206080110EFCE125206080210FECE12520608041081CF125206080710F8CE125206080810BADE1212730897FF1C10E8B51818CBCF24220CE7A59EE58C97E58D83E6ADA22A0608D94F108703321308C19A0C100418B42E28E8B51830003A02E4073A0608859D01100040004800520608001084CF125206080110FFCE125206080210F2CE12520608041082CF12520608061096CF125206080710F9CE12123A08BED0D40710E5B5181800220AE7A791E7A791E7A791782A0508F54E1000320E08C19A0C1000180028E5B51830003A0608859D01100040004800123D088CCB830410E5B51818C8CF24220A61313231326D617263682A0508F74E1014320F08C19A0C100418885928E5B51830003A0608859D011000400048001A0E8CCB830497FF1CBED0D407BBEB4620012A0C08021204080132001A021002320E8CCB830497FF1CBED0D407BBEB46"}
Game continued.
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.FastTest.syncGame","Json":null,"Data":{"round_id":"-1","step":1000000}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.FastTest.syncGame","Json":{"error":{},"is_end":false,"step":6,"game_restore":{"actions":[{"step":0,"name":"ActionMJStart","data":""},{"step":1,"name":"ActionNewRound","data":"CAAQABgAIgI1bSICNm0iAjhtIgI0cCICNXAiAjJzIgIzcyICNXMiAjdzIgI5cyICNXoiAjZ6IgI2eiICN3oyDKjDAajDAajDAajDAToNCAASAggBIKCcASjAPkAAWABiIDFkM2UwMzI3OTEyYTU4NWY5NDNiN2ExNzU1YWY2MTljaEVyAjVtegIIAHoCCAF6AggCegIIAw=="},{"step":2,"name":"ActionDiscardTile","data":"CAASAjlzGAAoADAASAA="},{"step":3,"name":"ActionDealTile","data":"CAEYRDgA"},{"step":4,"name":"ActionDiscardTile","data":"CAESAjJwGAAoADAASAA="},{"step":5,"name":"ActionDealTile","data":"CAIYQzgA"}],"passed_waiting_time":4,"game_state":1,"last_pause_time_ms":0}},"Data":null}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.FastTest.fetchGamePlayerState","Json":null,"Data":{}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":"ActionMJStart","Json":{},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":"ActionNewRound","Json":{"chang":0,"ju":0,"ben":0,"tiles":["5m","6m","8m","4p","5p","2s","3s","5s","7s","9s","5z","6z","6z","7z"],"scores":[25000,25000,25000,25000],"operation":{"seat":0,"operation_list":[{"type":1}],"time_add":20000,"time_fixed":8000},"liqibang":0,"al":false,"md5":"1d3e0327912a585f943b7a1755af619c","left_tile_count":69},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":"ActionDiscardTile","Json":{"seat":0,"tile":"9s","is_liqi":false,"moqie":false,"zhenting":false,"is_wliqi":false},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":"ActionDealTile","Json":{"seat":1,"left_tile_count":68,"zhenting":false},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":"ActionDiscardTile","Json":{"seat":1,"tile":"2p","is_liqi":false,"moqie":false,"zhenting":false,"is_wliqi":false},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":"ActionDealTile","Json":{"seat":2,"left_tile_count":67,"zhenting":false},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.FastTest.fetchGamePlayerState","Json":{"error":{},"state_list":[null,null,"SYNCING","READY","READY","READY"]},"Data":null}
MahjongAI.exe Error: 0 : System.NullReferenceException: 未将对象引用设置到对象的实例。
在 MahjongAI.Models.Tile.<>c__DisplayClass5_0.<.ctor>b__0(KeyValuePair2 pair) 位置 E:\Users\1212march\Desktop\MahjongAI-master\MahjongAI\Models\Tile.cs:行号 24 在 System.Linq.Enumerable.First[TSource](IEnumerable1 source, Func`2 predicate)
在 MahjongAI.Models.Tile..ctor(String name) 位置 E:\Users\1212march\Desktop\MahjongAI-master\MahjongAI\Models\Tile.cs:行号 24
在 MahjongAI.MajsoulClient.HandleInit(JToken data) 位置 E:\Users\1212march\Desktop\MahjongAI-master\MahjongAI\MajsoulClient.cs:行号 590
在 MahjongAI.MajsoulClient.HandleMessage(MajsoulMessage message, Boolean forSync) 位置 E:\Users\1212march\Desktop\MahjongAI-master\MahjongAI\MajsoulClient.cs:行号 401
在 MahjongAI.MajsoulClient.HandleMessage(MajsoulMessage message, Boolean forSync) 位置 E:\Users\1212march\Desktop\MahjongAI-master\MahjongAI\MajsoulClient.cs:行号 448
在 MahjongAI.MajsoulClient.d__54.MoveNext() 位置 E:\Users\1212march\Desktop\MahjongAI-master\MahjongAI\MajsoulClient.cs:行号 743
Unexpectedly disconnected.
Client closed.

mjscore.cpp 计算赤宝牌有BUG

暗杠白时,会错误计算为赤dora,白的id为35。
MJScore::Get_AkahaiSuu()中。 应将if(Fuuro[i+1]%10==5&&i<30)tmp++; 修改为if(Fuuro[i+1]%10==5&&Fuuro[i+1]<30)tmp++;

can not login in into majsoul

MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.login","Json":null,"Data":{"currency_platforms":[2,6,8,10,11],"account":"","password":"*****","reconnect":false,"random_key":"aec84347-d06c-4a94-8405-042a1926ee04","client_version":{"resource":"0.9.302.w"},"client_version_string":"web-0.9.302","gen_access_token":false,"type":0,"device":{"hardware":"pc","is_browser":true,"os":"windows","os_version":"win10","platform":"pc","sale_platform":"web","software":"Chrome"}}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.login","Json":{"error":{"code":151},"account_id":5},"Data":null}
Login failed.

the log.txt show these,what should i do

启动后黑屏

在visual studio 2019中打开sln,build之后控制台不输出任何文字

同文件夹log显示MahjongAI.exe Information: 0 : Send:
MahjongAI.exe Information: 0 : Receive:

Game matching timed out after Majsoul updated

This is part of log.txt (#3, password is omitted):

MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.login","Json":null,"Data":{"currency_platforms":[2],"account":"****","password":"****","reconnect":false,"device":{"device_type":"pc","browser":"safari"},"random_key":"2b5c753b-98be-4b05-95c7-d10e5687eb85","client_version":"0.4.149.w","gen_access_token":false}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.login","Json":{"error":{},"account_id":13147574,"account":{"account_id":13147574,"nickname":"我太北了","login_time":1569801962,"logout_time":1569665468,"room_id":0,"title":0,"signature":"","gold":12100,"diamond":0,"avatar_id":400101,"vip":0,"birthday":0,"level":{"id":10202,"score":303},"shilian":{"step":20101,"state":0}}},"Data":null}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.matchGame","Json":null,"Data":{"match_mode":5}}
Login succeeded.
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":2,"MethodName":".lq.NotifyAccountUpdate","Json":{"update":{}},"Data":null}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.matchGame","Json":{"error":{}},"Data":null}
MahjongAI.exe Information: 0 : Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.heatbeat","Json":null,"Data":{"no_operation_counter":0}}
MahjongAI.exe Information: 0 : Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.heatbeat","Json":{"error":{}},"Data":null}
Game matching timed out.
Unexpectedly disconnected.
Client closed.

关于两局之间间隔的建议

建议每两局之间能够设置有随机的间隔时间,以减少被ban的几率。
另外,现在每局结束之后会退出游戏然后重进,可否添加一个选项,使玩家能够决定一局之后是否退出游戏?

疑问

打了两百个半庄 默认和防守重视各一百把 防守模式胡牌率24 默认27 而放铳率竟然都在16左右
所以比较好奇 这两个模式在算法上的异同

只有login succeeded

image
只有login succeeded,后面无任何内容,天凤平台的,请问这怎么解决

The WebSocket is in an invalid state ('Closed') for this operation. Valid states are: 'Open, CloseReceived'

雀魂友人局 repeat>1。打完一把,第二把会弹这个错误,不过看起来不影响打牌。

MahjongAI.exe Error: 0 : System.Net.WebSockets.WebSocketException (0x80004005): The WebSocket is in an invalid state ('Closed') for this operation. Valid states are: 'Open, CloseReceived'
at System.Net.WebSockets.WebSocketValidate.ThrowIfInvalidState (System.Net.WebSockets.WebSocketState currentState, System.Boolean isDisposed, System.Net.WebSockets.WebSocketState[] validStates) [0x00058] in :0
at System.Net.WebSockets.ManagedWebSocket.SendPrivateAsync (System.ReadOnlyMemory`1[T] buffer, System.Net.WebSockets.WebSocketMessageType messageType, System.Boolean endOfMessage, System.Threading.CancellationToken cancellationToken) [0x0004b] in :0
--- End of stack trace from previous location where exception was thrown ---

at MahjongAI.Util.WebSocketUtils.Send (System.Net.WebSockets.ClientWebSocket ws, System.Byte[] buffer) [0x0007f] in :0
at MahjongAI.MajsoulClient.Send (System.Net.WebSockets.ClientWebSocket ws, System.String methodName, System.Object data) [0x000a2] in :0

a strange error

Login succeeded.
Game found. Connecting...
Game continued.
MahjongAI.exe Error: 0 : System.ArgumentNullException: 值不能为 null。
参数名: value
在 Newtonsoft.Json.Linq.JToken.EnsureValue(JToken value)
在 Newtonsoft.Json.Linq.JToken.op_Explicit(JToken value)
在 MahjongAI.MajsoulClient.HandleMessage(MajsoulMessage message, Boolean forSync) 位置 C:\Users\User\Desktop\workspace\MahjongAI\MahjongAI\MajsoulClient.cs:行号 397
在 MahjongAI.MajsoulClient.d__51.MoveNext() 位置 C:\Users\User\Desktop\workspace\MahjongAI\MahjongAI\MajsoulClient.cs:行号 710
Unexpectedly disconnected.
Client closed.

关于立直棒点数计入得点

刚才发现一个四家立直流局的局面,下一局AI还是选择向听倒退提高打点而不是速和。看了一下目前的代码好像并没有把立直棒的数据用于得点计算,只用来判断和了后的排名。

An issue after logging in.

Hi ZhangJK!
I've met an issue when I tried to run Tenhou-Client in my vps, based on Centos 7 with latest Docker-CE. It runs well until the program logging in tenhou.net with an ID or just "NoName", but it seems failed to reserve a match.
When I run it in Docker it just shows "login" but nothing else, and tenhou.net will tell that the player has already online. (このプレーヤは既に接続済みです)
The only way to figure it out is logging in tenhou.net and play a match myself, then running the Client, which turns out the Client could play mahjong but just cannot reserve one.
I don't know whether it's a bug or something wrong with my settings lol.
BTW, how could you play "High" ranking without buying an "有料版"?

请问这个支持雀魂国际服么?

有点想试试这个东西,然而国服增加了手机验证 - 没有...
日服嘛...也不想被ban...
国际服其实真不怎么打,所以问问支不支持国际服?

关于牌山中牌数计算错误的问题

游戏进行到终局时剩余牌数显示为负数。可能存在以下两个问题?(只是简单看了一下,我也不是很确定)
1.摸牌后牌山数量没有立刻-1,到切牌时才-1,这样可能对尾巡判断产生影响。
2.吃/碰后切牌,其中没有摸牌动作,但是牌数却-1

关于proto解析

看到雀魂的支持取消了,不知道还能不能问相关的问题,如果不能就直接close吧。

  1. 第一个是关于fetchFriendList的,这个解析失败,同样情况的还有fetchShopInfofetchCharacterInfo
    Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.fetchFriendList","Json":null,"Data":{}} Recv:
    {"Success":false,"Type":1,"MethodName":".lq.Lobby.fetchFriendList","Json":null,"Data":"0305000A... 20001850"}

  2. 第二个是关于fetchMonthTicketInfo的,这个解析出来的month_ticket_info字段为空
    Send: {"Success":true,"Type":0,"MethodName":".lq.Lobby.fetchMonthTicketInfo","Json":null,"Data":{}}
    Recv: {"Success":true,"Type":1,"MethodName":".lq.Lobby.fetchMonthTicketInfo","Json":{"month_ticket_info":[{}]},"Data":null}

liqi.json版本没问题

关于好型和愚型

算法里面好像没有看到针对好型和愚型的判断?看了下计算结果似乎是单纯比较进张数,导致一向听时有出现同样进张数的情况下,以愚型进听。

运行时报错

用VS2019编译的,我不太懂C#也不知道是什么情况(
图片

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.