应用VBA技术实现的象棋比赛评分系统

2016-03-04 04:36史双全
新课程(下) 2016年9期
关键词:对局名次序号

史双全

(吉林省长春市第一五一中学)

应用VBA技术实现的象棋比赛评分系统

史双全

(吉林省长春市第一五一中学)

棋类比赛评分一般要通过手工对选手分组,手工计算选手分数积分,手工排名次,不利于大规模比赛需要。利用Excel VBA直接调用Excel内置的丰富函数,编写了象棋比赛评分模板程序。该程序可自动快速编排选手对局,自动计算选手积分及排名。与手工比赛评分相比,该方法精度较高,极大地提高了工作效率。旨在对信息技术的应用推广,使得在当今信息技术应用普遍的情况下,能够把信息技术充分利用好,做到灵活运用。

程序设计;算法;对局;评分

在教育信息技术时代下,信息技术教师作为学校信息教育的技术支持者,有责任做好信息技术的教育应用研究,使信息技术在教育教学工作中效能最大化,同时又从中催生具有教育信息技术时代特色的问题解决方案和教学工作新模式。

一、选题意义

比尔盖茨说过:VBA已经不再是单纯的技术,它正快速地朝着一个标准化的程序开发平台的目标前进,就好像现在的Windows、internet角色一样。VBA是即将兴起的、很有前途的编程语言,在Office环境下用VBA开发应用软件,将成为软件开发人员和计算机应用人员首选的方式。

遗憾的是,在众多的Office办公软件应用人员当中,80%以上的人仅使用软件极少部分基本功能,真正精彩的潜在部分——VBA编程,没有被开发和使用。关于Office基本操作的书随处可见,但关于VBA开发与应用的书很少,偶尔能见到几本,大多讲一些对象、属性、方法和语言基础,可供参考的、有实际应用价值的实例很难见到。

现如今,每一位计算机人,不论是计算机专业人员还是非专业人员,大概都要从文字处理和电子表格入手,Office系列软件确实可以解决我们日常工作、学习和生活中的很多问题,VBA组件编制程序,进行程序设计,在Office基础上进行二次开发,制作出符合我们特定需要的软件,实现繁琐、机械的日常工作自动化,进一步提高工作效率,提高软件的应用水平。

二、需求分析

象棋淘汰赛选手两两对局,胜者再两两对局,最后胜出者,即为冠军。此比赛局数少,但不是十分公平。循环赛每名选手与其他所有对手均对局,最后计算每名选手积分,按积分排名次。此比赛虽然公平,但随着选手的增多,需要比赛局数呈几何基数增多,需要时间长,根本无法实现。此系统的比赛采用积分循环制,规则要求如下:

根据比赛参赛选手,第一局,需要排出比赛对局名单;两人只赛一局,对局后记录每名选手积分,根据选手积分成绩排名,再高手对高手,孬手对孬手,排出下一轮对局;继续对局、积分、排名,根据高对高,孬对孬,排下一轮对局,直到对局合适轮次,结束比赛,最后排出总名次。

采用以上规则,每轮比赛对局后,按照选手积分排名次,再排下一轮对局,高手之间几乎都能对一局,高手之间名次充分公平;另外,孬手之间也充分对局,也充分排好了名次。使得比赛时间不是很长,又能展现选手实力,拉开选手比赛成绩,实现了竞赛排名的要求。

三、概要设计

1.操作数据准备

选手录入:建立电子表格工作簿,在工作表中,输入选手序号、名字。选手人数录入:在工作表对应单元格中输入比赛选手人数。

2.对局评分过程

(1)首轮对局分配:第一轮以计算机分配对手。在每名选手第一轮列的对手列自动填充选手序号(选手序号首尾对局);并在先后列自动填充先后手(选手序号小的设置为先手,执红棋先行)。(2)录入比赛成绩:两人只赛一局,赛后填写比赛得分,胜方积2分,负方积0分,和局双方各积1分。(3)对局分配:第二轮起,评分及分配对手过程。将选手目前几轮比赛得分累加,统计出当前选手总积分,填充到总积分列;按总积分列排名;分配对手,从最高分选手,向下寻找分数最接近,并且未对过局的选手,将对手序号填充到该轮对手列,同时将对手的对手列填上此选手;对比两选手先后手,后手多的设置为先手,执红棋先行。(4)比赛过程:重复2和3步骤,直到第7轮或第8轮,比赛结束。(5)排名次:名次按积分降序排列,积分相同的,再按选手对手积分的和降序排列,最后排出总名次。

通过以上实例,可以看到新课标指导下对高中计算机老师提出了更多要求,要求他们对当前高中学生对计算机课程的不同层次,在梳理好Excel VBA技术知识的基础上,进行VBA使用程序的研究开发,提高工作的信息化和工作效率。在VBA信息技术应用中,发现Excel的宏录制、半手工半程序化操作、全程序化操作、二次开发、大量应用实例等对信息技术应用的价值。引导学生将计算机技术运用到生活中,对各类问题加以解决,让使用者看到VBA的应用,将对推进和落实素质教育、发展学生主体性和创造性、培养学生创新精神和实践能力具有重要意义。

[1]李政.完美体验来自Office XP[M].机械工业出版社,2002.

[2]齐治昌.软件工程[M].高等教育出版社,1997.

·编辑孙玲娟

猜你喜欢
对局名次序号
把所有名次都考上
划船比赛
第29届欧洲象棋锦标赛对局选评
技术指标选股
技术指标选股
技术指标选股
技术指标选股
赵国荣先胜吕钦
对局中的平衡观战斗力量的平衡