本发明涉及计算机技术领域,尤其涉及一种kpl赛程生成方法。
背景技术:
kpl(kingproleague)赛事是腾讯公司旗下竞技手游的全国性专业赛事,分为入围赛、常规赛、季后赛以及总决赛四部分,由于赛事规则非常繁杂,都是由人工手动设置赛程,没有自动化排赛程的情况。
采用人工手动设置赛程耗时耗力,且出错率较高,难以满足kpl竞赛需求。
技术实现要素:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种kpl赛程生成方法,基于计算机技术实现kpl赛程的自动生成,减少人力成本,降低出错率。
本发明提供一种kpl赛程生成方法,所述方法包括以下步骤:
步骤1:读取数据库,初始化比赛数据,所述比赛数据包括kpl赛事的比赛战队信息、交战规则;所述交战规则包括双城主客场规则、背靠背规则、主客场规则以及特殊规则;
步骤2:将所有的比赛战队两两分组,列举出所有的比赛场次;
步骤3:获取比赛场次,并根据双城主客场规则生成比赛池;
步骤4:获取比赛池,并根据特殊规则选取比赛场次放入比赛序列;
步骤5:从第一个未排的比赛日开始,根据已有的比赛序列和背靠背规则,删除比赛池中不符合规则的比赛场次;
步骤6:根据已有的比赛序列和主客场规则,删除比赛池中不符合规则的比赛场次;
步骤7:判断比赛池中是否有剩余场次,若有,则安排本比赛日的比赛场次;若无,则返回步骤4;
步骤8:判断是否为最后一个比赛日,若是,则获取完整赛程;若否,则返回步骤5。
进一步的,所述双城主客场规则规定每周三到周日,每天三场比赛;
所述备考背规则规定每个比赛战队每天只有一场比赛,最多连续两天比赛,且控制比赛战队的出差次数,每个比赛战队的出差次数控制在4次;
所述主客场规则规定比赛战队在客场比赛,最多持续两周,在出差客场比赛一次回来后,必须间隔一周才能再次出差,且战队出差到客场后,第二天休息,第三天比赛;
所述特殊规则规定具体某一天的比赛战队。
如上所述,本发明的一种kpl赛程生成方法,具有以下有益效果:本发明基于计算机技术实现kpl赛程的自动生成,减少人力成本,降低出错率。
附图说明
图1显示为本发明实施例中公开的kpl赛程生成方法流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
如图1所示,本发明提供一种kpl赛程生成方法,是基于c系列语言、python语言、vb语言进行程序开发实现的,所述方法包括以下步骤:
步骤1:读取数据库,初始化比赛数据;
所述比赛数据包括kpl赛事的比赛战队信息、交战规则;所述交战规则包括双城主客场规则、背靠背规则、主客场规则以及特殊规则;
其中,具体交战规则如下:
双城主客场规则:每周三到周日,每天三场比赛,总计140场比赛;
备考背规则:每个比赛战队每天只有一场比赛,最多连续两天比赛,且控制比赛战队的出差次数,每个比赛战队的出差次数控制在4次;
主客场规则:比赛战队在客场比赛,最多持续两周,在出差客场比赛一次回来后,必须间隔一周才能再次出差,且战队出差到客场后,第二天休息,第三天比赛(即与上一次比赛间隔两天);
特殊规则:自定义具体某一天的比赛战队等,例如揭幕战等;
步骤2:将所有的比赛战队两两分组,列举出所有的比赛场次;
步骤3:获取比赛场次,并根据双城主客场规则生成比赛池;
其中,所述比赛池是穷举生成的,例如,a、b两个比赛战队两两分组,则会生成a主场b客场、a客场b主场、a主场b客场、a客场b主场,共计4种,任意选取3种即可;且比赛池的总场次应该大于或等于比赛场次;
步骤4:获取比赛池,并根据特殊规则选取比赛场次放入比赛序列;
步骤5:从第一个未排的比赛日开始,根据已有的比赛序列和背靠背规则,删除比赛池中不符合规则的比赛场次;
步骤6:根据已有的比赛序列和主客场规则,删除比赛池中不符合规则的比赛场次;
步骤7:判断比赛池中是否有剩余场次,若有,则安排本比赛日的比赛场次;若无,则返回步骤4;
步骤8:判断是否为最后一个比赛日,若是,则获取完整赛程;若否,则返回步骤5。
综上所述,本发明基于计算机技术实现kpl赛程的自动生成,减少人力成本,降低出错率。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
1.一种kpl赛程生成方法,其特征在于,所述方法包括以下步骤:
步骤1:读取数据库,初始化比赛数据,所述比赛数据包括kpl赛事的比赛战队信息、交战规则,所述交战规则包括双城主客场规则、背靠背规则、主客场规则以及特殊规则;
步骤2:将所有的比赛战队两两分组,列举出所有的比赛场次;
步骤3:获取比赛场次,并根据双城主客场规则生成比赛池;
步骤4:获取比赛池,并根据特殊规则选取比赛场次放入比赛序列;
步骤5:从第一个未排的比赛日开始,根据已有的比赛序列和背靠背规则,删除比赛池中不符合规则的比赛场次;
步骤6:根据已有的比赛序列和主客场规则,删除比赛池中不符合规则的比赛场次;
步骤7:判断比赛池中是否有剩余场次,若有,则安排本比赛日的比赛场次;若无,则返回步骤4;
步骤8:判断是否为最后一个比赛日,若是,则获取完整赛程;若否,则返回步骤5。
2.根据权利要求1所述的kpl赛程生成方法,其特征在于:
所述双城主客场规则规定每周三到周日,每天三场比赛;
所述备考背规则规定每个比赛战队每天只有一场比赛,最多连续两天比赛,且控制比赛战队的出差次数,每个比赛战队的出差次数控制在4次;
所述主客场规则规定比赛战队在客场比赛,最多持续两周,在出差客场比赛一次回来后,必须间隔一周才能再次出差,且战队出差到客场后,第二天休息,第三天比赛;
所述特殊规则规定具体某一天的比赛战队。