|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 huangliang72 于 2016-8-20 22:01 编辑
或许有人在按键论坛也看到我的帖子,今后慢慢更新!!!
今天给大家分享tc源码 智能打麻将,麻将各种打法都不一样.
我在这里先介绍一种最基本的打法 推倒胡 的源码! 有大神的请指教,有讨论的一起!!
QQ:403325891 讨论QQ群578775579
首先识别牌一定用大漠OcrEx,牌的坐标已经有了,下面我们开始!!
===================================================
变量 筒子,筒数组,索子,索数组,万子,万数组,字子,字数组
变量 坐标数组,牌,x,y,dm_ret,位置
变量 操作状态=0
dm_ret = 对象.UseDict(3)
字子 = 对象.OcrEx(3,560,765,639, "18327F-191F4F", 1.0)
字符串分割(字子,"|",字数组)
dm_ret = 对象.UseDict(2)
筒子 = 对象.OcrEx(3,560,765,639, "6B4D73-6B4D74", 1.0)
字符串分割(筒子,"|",筒数组)
dm_ret = 对象.UseDict(1)
索子 = 对象.OcrEx(3,560,765,639, "674F29-674F29", 1.0)
字符串分割(索子,"|",索数组)
dm_ret = 对象.UseDict(0)
万子 = 对象.OcrEx(3,560,765,639, "3D5167-3E5167", 1.0)
字符串分割(万子,"|",万数组)
等待(200)
变量 总数组=数组(字数组[0],筒数组[0],索数组[0],万数组[0])
变量 首选文字,首选文字位置,第二文字,第二文字位置,第三文字,第三文字位置
变量 文本,文本一,文本二,清除顺子=""
遍历(变量 i = 0; i < 数组大小(总数组); i++)
文本=总数组
如果(是否整型(文本))
遍历(变量 a = 0; a < 字符串长度(文本); a++)
首选文字=转整型(字符串截取(文本,a,a+1))
如果(首选文字<8)
第二文字=转字符型(首选文字+1)
第二文字位置=字符串查找(文本,第二文字)
如果(第二文字位置>0)
第三文字=转字符型(第二文字+1)
第三文字位置=字符串查找(文本,第三文字)
如果(第三文字位置>0)
首选文字位置=字符串查找(文本,首选文字)
文本一=字符串截取左侧(文本,首选文字位置)
文本二=字符串截取右侧(文本,字符串长度(文本)-(首选文字位置+1))
文本=文本一&文本二
第二文字位置=字符串查找(文本,第二文字)
文本一=字符串截取左侧(文本,第二文字位置)
文本二=字符串截取右侧(文本,字符串长度(文本)-(第二文字位置+1))
文本=文本一&文本二
第三文字位置=字符串查找(文本,第三文字)
文本一=字符串截取左侧(文本,第三文字位置)
文本二=字符串截取右侧(文本,字符串长度(文本)-(第三文字位置+1))
文本=文本一&文本二
a--
结束
结束
否则
跳出
结束
结束
结束
清除顺子=清除顺子&","&文本
结束
调试输出(清除顺子&"---清除顺子")
===========================================================
第一要歩已经完成 ,下面处理第二种牌型,杠刻将!!!!!!
|
|