自定义超级形态
杰思达软件 / 2019-05-08 00:30:20

“自定义超级形态”将会出现在:“图表分析-超级形态”的形态选择列表中。

一、基本知识
1. 本类自定义脚本文件位于软件安装目录下的“Lottery\CustomShape”。
2. 您可以使用文本编辑器,或是通过软件目录下的“Lua.SciTE\SciTE.exe”来编辑脚本(推荐后者)。
3. 除了注释与字符串中的内容,其它字符都必须是半角字符(即纯英文字符)。
4. 调试信息输出工具“TiTrace.exe”位于软件安装目录下。
5. 重要:LUA的基础知识和接口类请参考帮助。


二、脚本内容说明
2.1 以下内容取自文件:def_1标准五行.lua

--【【【【【【
-- 此函数返回本文件的形态名称
function shapeName()
  return '标准五行';
end;

-- 此函数返回本文件的形态定义
function shapeDefine()
  return '金,木,水,火,土';    -- 形态间以半角的 ',' 分隔
end;

-- 此函数返回给定号码的形态
-- history        :    -1表示数据来自于组号篮,否则表示历史数据期号的索引
-- number        :    要获取形态的号码
-- group        :    第几个号位(号码),从0开始,0表示第1个。
-- isBlueBall    :    是否是篮球--
隐藏参数 ss_datas[n] 可以取到当前计算号码组的完整号码,例如'ss_datas[1]'表示第一个号码数

-- ss_datas['count'] 取当前计算号码组的完整号码个数
-- ss_datas['subs'] 取当前计算号码组的后区号码个数
function shapeValue(history, number, group, isBlueBall)
  local value = number % 10;
  if value == 4 or value == 9 then
    return '金';
  elseif value == 3 or value == 8 then
    return '木';
  elseif value == 1 or value == 6 then
    return '水';
  elseif value == 2 or value == 7 then
    return '火';
  elseif value == 0 or value == 5 then
    return '土';
  end;

  return '金'; -- 一定需要一个默认的状态值
end;

-- 此函数为过滤接口函数
-- datas    :    号码数据, 例如'datas[1]'表示第一个号码数
-- count     :    号码总个数,包括了红球、蓝球的数量。
-- subs     :    子号码个数,通常指篮球、后区、特选号个数
-- history    :    -1表示数据来自于组号篮,否则表示历史数据期号的索引
-- shape    :    已计算好的形态,例如: "金木土金金"
-- sum        :     形态和值
-- span        :    形态跨度
-- 返回        :    true表示删除,false表示保留
-- 隐藏参数 shapeTime['形态'],可以取到指定形态的出现次数,例如:shapeTime['金'] 可以取到“金”码的出现次数。
--                    shapeTime['形态组数'] 可以取到与图表中“形态组数”相对应的值。
-- ss_datas['shape2'] 可以取到以空格分隔的形态值,例如: "金 木 土 金 金"

function shapeFilter(datas, count, subs, history, shape, sum, span)
  -- 这里演示有2个金码的时候删除数据
  if shapeTime['金'] == 2 then
    return true;
  end;
   
  -- 这里演示当形态和值为10的时候删除数据
  if sum == 10 then
    return true;
  end;

  -- 这里演示当形态跨度为3的时候删除数据
  if span == 3 then
    return true;
  end;

  -- 这里演示删除第2个号码为'金',以及第3个号码为'木'的数据
  local s2 = string.sub(shape, 3, 4);        -- 一个中文字符等于两个英文字符长度
  local s3 = string.sub(shape, 5, 6);        -- 一个中文字符等于两个英文字符长度
  if s2 == '金' and s3 == '木' then
    return true;
  end;

  return false;
end;
--】】】】】】


2.2 代码解释
> shapeName()
功能:此函数定义了本文件的形态名称。

> shapeDefine()
功能:此函数返回本文件的形态定义。

> shapeValue(history, number, group, isBlueBall)
功能:此函数计算给定号码的形态。
@history: -1表示数据来自于组号篮,否则表示历史数据期号的索引。
@number: 要获取形态的号码。
@group:    第几个号位(号码),从0开始,0表示第1个。
@isBlueBall: 是否是篮球。
@隐藏参数:ss_datas[n] 可以取到当前计算号码组的完整号码,例如'ss_datas[1]'表示第一个号码数。
@隐藏参数:ss_datas['count'] 取当前计算号码组的完整号码个数。
@隐藏参数:ss_datas['subs'] 取当前计算号码组的后区号码个数

> shapeFilter(datas, count, subs, history, shape, sum, span)
功能:过滤接口函数,当在页面上选择使用过滤文件过滤时用到。
@datas: 号码数据, 例如'datas[1]'表示第一个号码数。
@count: 号码总个数,包括了红球、蓝球的数量。
@subs: 子号码个数,通常指篮球、后区、特选号个数。
@history: -1表示数据来自于组号篮,否则表示历史数据期号的索引。
@shape: 已计算好的形态,例如: "金木土金金"。
@sum: 形态和值。
@span: 形态跨度。
@返回: true表示删除,false表示保留。
@隐藏参数:shapeTime['形态'],可以取到指定形态的出现次数,例如:shapeTime['金'] 可以取到“金”码的出现次数。
@隐藏参数:shapeTime['形态组数'] 可以取到与图表中“形态组数”相对应的值。
@隐藏参数:ss_datas['shape2'] 可以取到以空格分隔的形态值,例如: "金 木 土 金 金"

上一篇:号码价值评分

用户评论(共0条评论)

  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha