本WIKI由呜呜kurumi申请于2021年03月15日创建,编辑权限开放
本站简中服内容急速更新中,如有内容错误,可以联系站长呜呜kurumi提交错误,赛马娘WIKI力求给大家带来最好的体验,也欢迎训练员们和我们一起建设

全站通知:

模块:本体查询

来自赛马娘WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

此模块的文档可以在模块:本体查询/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