【学习笔记】模拟设计(15):基于树型结构模型足球成绩系统的研究与设计
2016年微型机与应用第10期
作者:曾锡山1,宋美妍2
摘要:体育比赛分组模型、小组晋级等处理是比赛信息系统设计非常麻烦的问题,目前相关文献的研究都是针对某一次具体比赛而介绍的,系统适用性差、重用性不好。提出一种基于树型结构的赛事分组模型,通过树节点的编码、晋级属性等约束,能很好地解决足球比赛各种分组比赛、淘汰赛模型的建立、成绩排名及晋级处理等问题,并对模型的结构及实现算法做了详细讨论。
0引言
体育比赛成绩管理是一项非常重要的工作,赛事模型的建立是比赛信息系统设计关键[1]。如何建立灵活的赛事模型、方便的排名处理、简单的各类报表打印等,都是赛事成绩系统设计要考虑和处理的重要问题[2]。足球比赛赛事模型比较复杂,包括小组赛单循环赛、小组双循环赛、淘汰赛等;晋级模型的建立是比赛信息处理的另一个复杂问题。小组比赛完成,需对小组进行排名,然后实现相应晋级处理。有些比赛模型可能会进行多一轮额外比赛,给不能出赛的部分队去争取少量额外出赛名额,之后再进入下一轮比赛。目前很多涉及体育赛事信息处理的文献都是讨论计时记分,少有对比赛及晋级模型进行研究,详细介绍赛事模型建立的研究更少;多数是针对某个具体赛事临时设计,系统通用性和适用性比较差[3]。
针对上述问题,本文提出一种基于树结构的赛事模型设计技术,较好地适用于足球不同赛事要求,方便实现赛程安排、晋级及成绩处理等功能要求。
1比赛管理系统组成
足球比赛成绩管理主要有以下方面:赛前信息管理、赛中计时记分管理和赛后成绩报表打印[4],如图1所示。
1.1赛前管理系统
赛前管理实现比赛系统数据初始化,包括基本数据维护、分组比赛模型设置、赛程管理、抽签比赛位置安排等功能。
(1)基本数据维护:包括比赛日期、比赛项目、比赛场馆、参赛队伍及参赛运动员相关信息录入、增加和修改、导入数据等功能。
(2)分组模型:用于比赛分组、晋级、成绩排名等处理和设置。
比赛分男子、女子项目,各有自身比赛分组模型,如单循环赛、单淘汰赛等。模型采用树型结构描述,每个阶段比赛用一个节点表示,队伍就是树的叶子节点。预赛和决赛是一个节点,男子赛或女子赛是各自预赛和决赛的父节点。每层对应一个阶段,每个节点对应一个队伍或者一场赛事。模型把比赛过程清晰描述如图2所示。
图2足球比赛分组模型图2中比赛采用树型分组结构[5] ,预赛采用分组循环赛,每组用一个节点表示,参赛队伍是小组的一个儿子,也就是叶子节点;淘汰赛每场比赛设置为一个组处理。
比赛排名:预赛中实现组内排名,决定晋级及总排名。
比赛晋级:用晋级方向码元数据[6]表示每个组排名位置与晋级节点码进行映射,实现统一晋级处理过程。
(3)赛程安排:用于设置每场比赛日期、赛事队名等信息。
(4)签位安排:设置参赛队伍分组比赛所在的场次位置。
1.2赛中管理系统
赛中管理负责当前场次比赛处理,包括赛事登记、计时记分及成绩处理等。
(1)赛事登记:设置比赛参赛人员、首发、衣服、裁判员等相关信息。
(2)成绩登记:进行比赛计时记分及其他相关操作,处理过程如下:
①场次选定:选定某场比赛,包括日期、场次、比赛阶段等选择。
②赛前准备:赛前数据进行初始化,确保数据准确性;利用比赛标记清晰表明比赛进程。
③计时记分操作:根据比赛过程计时记分裁判要求,进行进球、红牌、换人等操作。
1.3报表管理系统
报表管理系统包括报表名称管理、报表数据来源定义、数据关联处理和打印等功能。
(1)报表名称管理:用于增加、修改、删除报表编码、名称、模板与说明的信息,足球常用报表包括竞赛日程、秩序单、单场成绩公告、每日成绩公告、小组阶段成绩公告、决赛阶段成绩公告等,报表模板样式采用Word文件类型。
(2)数据来源管理:用于定义报表来源数据视图,通过数据来源说明实现报表动态管理和生成[7] 。
(3)报表关联处理:报表样式采用Word文件描述,模板中每个数据利用来源说明,数据与数据视图建立关联,确保打印数据准确。
(4)报表打印:选择报表名称,打印比赛相应报表。
2数据模型及存储结构
2.1赛事数据结构
系统主要数据包括:赛程表、赛事表、参赛队名信息表、运动员信息表、打印数据视图、打印模板名称、打印管理描述元素等相关表,各表关联如图3所示。对主要表说明如下:
(1)赛程表:赛程安排说明,包括编码、
日期、时间、小组安排。
(2)赛事表:每场比赛实际安排,包括日期、时间、场馆名称、主客队名称、裁判等相关信息。
(3)操作记录明细:记录比赛运动员进球、换人、红黄牌等操作信息。
(4)打印数据视图表:定义打印模板数据来源,包括编号、名称、视图查询命令。
(5)打印模板:描述报表样式的一个Word类型文件。
2.2分组模型数据结构
分组模型采用树型结构,用于比赛分组、晋级说明、成绩排名等处理,如图2左边信息所示。属性包括分组编码、名称、队名、队名初始化、说明、分组排序码、每队比赛场数、总成绩排序码、晋级说明等。主要属性说明如下:
分组编码:采用字母加数字两部分构成,字母表示大项,如FBM表示足球代码;数字串采用树结构方式,表示分项或场次,例如511、5111分别表示男子、男子循环赛。
比赛排名:预赛实现组内排名和决定晋级位置,决赛实现总排名。
晋级说明:该组比赛结束后,说明相应名次晋级下一阶段比赛场次位置。
2.3报表相关数据
数据包括报表模板、数据来源两部分。报表模板涉及数据比较复杂,通常一个视图无法满足一个报表信息需要;根据模板数据来源进行分组,每个组来源对应一个视图。
动态数据源实现模板、打印数据相互独立[8],使打印设计简单、方便、灵活。图4是足球轮次秩序单模板。
图4足球轮次秩序单模板模板元素分符号和属性两种标签,符号标签不做转换,属性标签说明数据来源视图对应的属性,以F_开头数字结尾的标签,属性包括三部分:
(1)数据源视图: 考虑模板界面设计整洁和简化需要,属性标签前缺省数据视图名,通过数据管理功能自动识别对应视图。
(2)属性名:标签前面字母对应数据源属性名。
(3)视图行:标签后数字表示其所在数据视图表的行号,行号为1可不标出。
3足球成绩系统主要功能及算法
系统主要功能包括计时记分操作、成绩名次排序和晋级、成绩打印等。
3.1计时记分操作
该功能负责计时记分及运动员相关行为操作处理,如进球、红黄牌、换人等操作,功能界面如图5所示,控制过程如下:
(1)进入操作界面,获得赛事的场次及当场比赛信息。
(2)进行计时记分及红黄牌、换人等相关操作,同时刷新比分及相关进球、红黄牌数。
(3)比赛结束后,根据赛事分组模型对本场进行排名及晋级处理。
3.2分组模型及成绩处理算法
每场比赛结束,根据分组模型进行排名及晋级处理。
(1)根据比赛规则,计算主、客队的胜负得分。
(2)每队都完成分组规定场次后,进行分组排名处理。
(3)根据晋级模型设置晋级代码,把相应名次参赛队填入下一轮比赛对应位置,实现晋级处理,如图6所示。
3.3报表打印
报表处理是体育比赛成绩处理很重要的工作,报表处理采用动态建立的方式,报表样式采用Word模板,具有使用简单方便的优点,如图7所示。
基于树型结构模型设计足球成绩系统,方法简单有效,适应性强。通过2013年天津东亚运动会、缅甸东南亚运动会的两次足球、曲棍球比赛使用和测试,验证了该技术具有较好的适应性和灵活性。
4结论
体育比赛竞赛模型结构直接影响项目的成绩排名、晋级处理算法等,采用基于树模型的处理技术能简化程序处理工作,提高开发效率,适用于各种体育比赛系统的设计。
参考文献
[1] 陶倩,耿锁奎,韩思音.基于竞赛规程的大型体育赛事竞赛成绩管理软件系统模型研究[J].山东体育科技,2014,32(1):6266.
[2] 徐雪霞,凌刚,徐霜.基于安全审计的体操比赛成绩统计软件[J].计算机工程,2009,35(17):255257.