全站通知:
模块:本体查询
刷
历
编
跳到导航
跳到搜索
此模块的文档可以在模块:本体查询/doc创建
local p={}
local uma=require('模块:原型马数据库')
p['史实马比赛']=function(frame)
local uma_name=frame.args['name']
frame:callParserFunction{name='#vardefine',args={"yourinput",uma_name}}
local eng_ref={'date','court','distance','name','race_rank','horse_id','odds','rank','jockey','first_or_second_horse','earns'}
local header=[[{| class="wikitable" style="background-color:#F8F9FA; color:#202122;"
|- style="font-weight:bold; text-align:center; horizontal-align:middle;vertical-align:middle; background-color:#EAECF0;width:100%"
! 日期
! 马场
! 距离
! 赛事名称
! 赛事等级
! 马番
! 人气
! 名次
! 骑师
! 头马(二马)
! 赏金]]
header=header..'\n'
local tst={1,2,3,4,5,6,7,8,9,10,11}
for i,item in pairs(uma.races[uma_name]) do
header=header..'|-\n'
for k,v in pairs(tst) do
if v==4 then
local temp='|[[%s|%s]]\n'
temp=string.format(temp,item['nkb_race_id'],item['name'])
header=header..temp
else
if v==8 then
if item['rank']=='1' then
header=header..'|style="background-color:#fffe65;"'
end
end
header=header..'|'..item[eng_ref[v]]..'\n'
end
end
end
header=header..'|}'
frame:callParserFunction{name='#vardefine',args={"races",header}}
end
p['基本信息']=function(frame)
local uma_name=frame.args['name']
local j=uma.basic[uma_name]
frame:callParserFunction{name='#vardefine',args={"nkb_id",j.nkb_id}}
frame:callParserFunction{name='#vardefine',args={"英文名",j.eng_name}}
frame:callParserFunction{name='#vardefine',args={"性别",j.gender}}
frame:callParserFunction{name='#vardefine',args={"生日",j.birthday}}
frame:callParserFunction{name='#vardefine',args={"马主",j.owner}}
frame:callParserFunction{name='#vardefine',args={"日文名",j.jpn_name}}
frame:callParserFunction{name='#vardefine',args={"毛色",j.color}}
frame:callParserFunction{name='#vardefine',args={"练马师",j.trainer}}
frame:callParserFunction{name='#vardefine',args={"生产牧场",j.farm}}
frame:callParserFunction{name='#vardefine',args={"产地",j.nation}}
frame:callParserFunction{name='#vardefine',args={"战绩",j.race_result}}
frame:callParserFunction{name='#vardefine',args={"赏金",j.earns}}
frame:callParserFunction{name='#vardefine',args={"主胜鞍",j.main_winning}}
frame:callParserFunction{name='#vardefine',args={"荣誉称号",j.glory}}
frame:callParserFunction{name='#vardefine',args={"父",j.f}}
frame:callParserFunction{name='#vardefine',args={"母",j.m}}
frame:callParserFunction{name='#vardefine',args={"父父",j.ff}}
frame:callParserFunction{name='#vardefine',args={"父母",j.fm}}
frame:callParserFunction{name='#vardefine',args={"母父",j.mf}}
frame:callParserFunction{name='#vardefine',args={"母母",j.mm}}
end
p['史实比赛']=function(frame)
local indexes={'rank','gate_id','horse_id',"horse_name","horse_chi_name","gender_age",'jockey','time','rank_diff','pass','tripleF','odds','weight','earns'}
local id=frame.args['id']
local db
local Year=tonumber(string.sub(id,1,4))
local using='0'
if Year>2007 then
if Year>2019 then
using='4'
db=require("模块:史实比赛4")
else
using='3'
db=require("模块:史实比赛3")
end
else
if Year>1995 then
using='2'
db=require('模块:史实比赛2')
else
using='1'
db=require('模块:史实比赛1')
end
end
frame:callParserFunction{name='#vardefine',args={"using",using}}
local temp=[[
{| class="wikitable"
|-
! 名次
! 枠番
! 马番
! 日文(英文)名
! 中文名
! 性别年龄
! 骑师
! 时间
! 位次差
! 通过排名
! 3F时间
! 人气
! 马体重(kg)
! 赏金(万円)
|-
]]
local r=db[id]
if r==nil then
return
end
local related_umamusume=''
for i, v in pairs(r.details) do
for j, k in pairs(indexes) do
temp=temp..'|'..(v[k])..'\n'
if k=='horse_chi_name' then
if string.match(v[k],'%[%[[^|]*%]%]')==nil then
temp=temp..''
else
related_umamusume=related_umamusume..string.sub(v[k],3,string.find(v[k],']]')-1)..','
end
end
end
temp=temp..'|-\n'
end
temp=temp..'|}'
frame:callParserFunction{name='#vardefine',args={"using",using}}
frame:callParserFunction{name='#vardefine',args={"race_data",temp}}
local court=r.basic['court']
local name=r.basic['name']
local long_name="第"..r.basic['turn']..'回'..name
frame:callParserFunction{name='#vardefine',args={"比赛名",long_name}}
frame:callParserFunction{name='#vardefine',args={"比赛类型",name}}
frame:callParserFunction{name='#vardefine',args={"日期",r.basic['date']}}
local date=r.basic['date']
local year=string.sub(date,1,4)
local month=string.sub(date,string.find(date,'年')+3,string.find(date,'月')-1)
local sorting_date=year
if string.len(month)==1 then
sorting_date=sorting_date..'0'..month
else
sorting_date=sorting_date..month
end
frame:callParserFunction{name='#vardefine',args={"sorting_date",sorting_date}}
frame:callParserFunction{name='#vardefine',args={"关联赛马娘",related_umamusume}}
frame:callParserFunction{name='#vardefine',args={"年",year}}
frame:callParserFunction{name='#vardefine',args={"月",month}}
frame:callParserFunction{name='#vardefine',args={"地点",court}}
frame:callParserFunction{name='#vardefine',args={"赛道类型",r.basic['type']}}
frame:callParserFunction{name='#vardefine',args={"距离",r.basic['distance']}}
frame:callParserFunction{name='#vardefine',args={"方向",r.basic['dir']}}
frame:callParserFunction{name='#vardefine',args={"天气",r.basic['weather']}}
frame:callParserFunction{name='#vardefine',args={"马场状况",r.basic['court_condition']}}
frame:callParserFunction{name='#vardefine',args={"赛事等级",r.basic['race_rank']}}
end
return p