基于AS 3.0的竞答系统的设计与实现

来源 :科技创新导报 | 被引量 : 0次 | 上传用户:wsqwsqwsqwsq
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:为了提高职工的知识和业务水平,各大企事业单位及工会系统经常会开展形式多样的竞赛活动,而知识竞答是最为常见的一种竞赛形式。科学设计竞答内容和竞答形式是保证竞赛公平公正开展的前提。经过周密设计的竞答系统,可以有效地保证竞答的公平、公开、公正和高效性,大大节省时间和人力成本。该文以沈阳市总工会民管部集体合同知识竞赛竞答系统为例,较为详细地说明了竞答系统的设计流程及相关技术,针对不同题型给出了可行的竞答设计方案。
  关键词:竞答系统 随机算法 AS 3.0 URLLoader XML
  中图分类号:TP31 文献标识码:A 文章编号:1674-098X(2017)02(c)-0128-04
  竞答设计主要包括赛制设计、题型设计、题目题量设计、评分标准设计和竞答流程设计等。而竞答系统的设计则更为复杂,除了要考虑到以上几点,还要考虑到题目抽取的随机性,答案显示的准确性、时效性,系统的可操控性,主持人与竞赛选手的互动性等要素。该文为提高可读性,突破传统的需求分析、概要设计、详细设计、编码、测试几大模块,以竞答设计的步骤为主线,逐一剖析竞答系统的设计流程。
  1 赛制设计
  设计分为预赛、复赛、决赛3个部分。
  预赛3组,每组6队,每队3人,采用6进4制;复赛2组,每组6队,每队3人,采用6进3制;决赛1组,共6队,每队3人,最后按成绩高低决出一等奖1队,二等奖2队,三等奖3队。以上是根据实际参赛队伍情况进行的设计。
  根据以上赛制设计,竞答系统界面预留预赛、复赛、决赛单选按钮,以便按不同场次抽取试卷(如图1所示)。
  侦听单选按钮的鼠标点击事件并做出响应,设置场次变量(s)并设定随机抽取试卷量的基数(range)。主要功能脚本如下:
  rgroup.addEventListener("click",changeFun);
  function changeFun(e:MouseEvent)
  {
  var radg:RadioButtonGroup = e.target as RadioButtonGroup;
  switch (radg.selection)
  {
  case r1 :
  s = 1;
  range = 6;
  break;
  case r2 :
  s = 2;
  range = 4;
  break;
  case r3 :
  s = 3;
  range =2;
  break;
  }
  }
  2 题型设计
  集体合同竞赛主要是考查竞赛选手个人和团队对相关知识的识别、判定和分析理解能力,所以在题型设计上选用了个人必答题、小组共答题、抢答题、风险题、加试题。解读成标准的题型就是4种,即填空、判断、简答和案例分析。而无论是什么题型,因为竞答现场要求的就是显示题目,选手作答,然后显示答案,所以,竞答系统数据库设计考虑两个字段就可以了,一个是题目、一个是答案。
  根据上述题型,设计竞答系统外部加载XML文件结构(以第1套必答题为例)如下:
  
  
  双方协商代表的人数应当对等,一般每方( ) 人,并各自确定一名首席代表。
  3-9人
  

  …
  
  同一用人单位与同一劳动者只能约定( )次试用期。
  一次
  

  

  3 題目题量设计
  3.1 题目题量设计原则
  (1)随机抽取题目作答形式决定了每种题型的题目设计量要超过实际竞答题目量,一般随机抽取题目基数与实际抽取题目数比例越高越好,也可根据实际需要。
  (2)不同场次抽取的试卷基数也要也要大于实际抽取试卷数。
  (3)降低不同试卷的题目重复率,最好互不重复。
  (4)在试卷基数范围内每次抽取的试卷号互不相同。
  (5)题号批量抽取且互不相同。
  3.2 随机抽取题号的实现方法
  function randomNum(total:int,current:int)
  {
  var currArray:Array = [];
  var nums = [];
  for (var i=0; i  {
  nums.push(i);
  }
  for (i=0; i  {
  var k = Math.floor(Math.random() *nums.length);
  //从nums数组中随机抽取一个元素(第k个)
  currArray[i] = nums[k] + 1;
  //把nums数组中抽出的元素值赋给currArray数组第i个元素;
  nums.splice(k, 1);
  }
  t1.text = currArray[0].toString();//显示抽题号
  …
  tn.text = currArray[n].toString();   }
  function chooseNum(e:MouseEvent)
  {
  randomNum(a,b);//从a个数中随机取不重复的b个数。
  }
  随机抽取试卷号方法与上面雷同。
  4 评分标准设计
  4.1 界面设计
  因为竞答采用计分器作为计分辅助设备,所以在竞答系统界面设计中要明确给出评分标准,如图2风险题抽取题号界面所示。
  4.2 不同分值题目切换实现方法
  var scoretype,score:int;
  scoretype=0; //分值类型,默认为0
  score = 200; //默认题目分值为200分
  fxtr1.group = fxtrgroup;
  fxtr2.group = fxtrgroup;
  fxtrgroup.addEventListener("click",fxtchangeFun);
  function fxtchangeFun(e:MouseEvent)
  {
  var radg:RadioButtonGroup = e.target as RadioButtonGroup;
  //将目标对象的引用指向到radg
  switch (radg.selection)
  {
  case fxtr1 :
  scoretype = 0;
  score = 200;
  fxtloadtxt = "fxt" + s + "-" + sjh + "-" + score + ".xml";
  fxtsjh_txt.text = fxtloadtxt;
  fxtxmlLoader.load(new URLRequest(fxtloadtxt));
  fxtxmlLoader.addEventListener(Event.COMPLETE,fxtxmlLoaded);
  fxtxmlLoader.addEventListener(IOErrorEvent.IO_ERROR,fxterrorHandler);
  fxtnow.x = fxt_t1.x;
  fxtnow.y = fxt_t1.y;
  fxttm_txt.text="题目";
  fxtkey_txt.visible=false;
  break;
  case fxtr2 :
  scoretype = 1;
  score = 300;
  fxtloadtxt = "fxt" + s + "-" + sjh + "-" + score + ".xml";
  fxtsjh_txt.text = fxtloadtxt;
  fxtxmlLoader.load(new URLRequest(fxtloadtxt));
  fxtxmlLoader.addEventListener(Event.COMPLETE,fxtxmlLoaded);
  fxtxmlLoader.addEventListener(IOErrorEvent.IO_ERROR,fxterrorHandler);
  fxtnow.x = fxt_t7.x;
  fxtnow.y = fxt_t7.y;
  fxttm_txt.text="题目";
  fxtkey_txt.visible=false;
  break;
  }
  }
  5 競答流程设计
  在抽取试卷号界面中,首先选取竞答场次,选择预赛、复赛、决赛中的一个,接着抽取该场次的试卷号,进入选取题型界面。
  在选取题型界面中,选择竞答题型进入相应题型的答题界面。
  在答题界面中,首先随机为每组抽取题号,然后主持人向参赛选手宣读题目,选手在指定时间内作答,作答完毕显示答案,正确加分,错误按比赛规则扣分或不扣分,并在计分器中更新分数。
  所有题目作答完毕后按赛制选出优胜队伍。
  6 可备选的其他题型设计
  按照加载题目素材的不同,竞答系统还可支持图片、声音、视频、动画等类型的题目,以丰富竞答题目的类型,使竞答形式更加多样、内容更加全面。
  具体实现方法如下。
  6.1 图片、动画类题型
  6.1.1 所需组件
  UILoader组件。
  6.1.2 加载办法
  通过设置UILoader的source属性,使用ActionScript可以加载任意SWF、JPG、PNG或GIF文件到UILoader组件中,基本语法如下:
  UILoaderInstanceName.source=“Path file to be loaded goes here”;
  例:将名为myEg.swf的文件加载到UILoader组件中。
  loadWindow.source=“myEg.swf”;
  例:当点击某题号时,将名为myEg.swf的文件加载到UILoader组件中。
  t1_btn.addEventListener(MouseEvent.CLICK,showt1);
  function loadFile(e:Event):void{   loadWindow.source = h;
  //h为中间变量,为从xml文件中读取的当前题目的UILoader的source
  }
  6.2 声音类题型
  6.2.1 相关类
  包括Sound类、SoundChannel类、SoundTransform类。
  SoundChannel类控制应用程序中的声音,它包括一个stop()方法,而SoundTransform类可以控制声音的播放音量和播放位置。
  6.2.2 基本用法
  (1)创建Sound类的实例。
  snd=new Sound();
  (2)把声音加载到Sound实例。
  snd.load(new URLRequest(currSong));
  (3)创建SoundChannel和SoundTransform实例。
  channel=new SoundChannel;
  trans=new SoundTransform(currVol, currPan);
  (4)播放音频并控制播放的音量和起始位置。
  channel=snd.play();
  channel.soundTransform=trans;
  (5)停止播放聲音。
  channel.stop();
  在具体设计中,以上基本用法一般结合对按钮对象的事件侦听和响应函数来实现。
  6.3 视频类
  (1)所需组件:FLVPlayback 组件。
  (2)加载办法:通过使用Flash直观的“组件检查器”设置常用属性,一般项目文件所需的大部分视频功能不用代码就能够实现。但是如果是多道视频题,则可使用外部XML文件存储视频加载路径,再通过URLLoader类的load方法来加载。
  7 结论
  综上所述,一个较为完备的竞答系统设计应注意以下几点。
  (1)了解和熟悉竞答比赛的每一个环节。
  (2)根据竞答题类型采用有针对性的技术解决方案。
  (3)兼顾界面友好性和易用性。
  (4)进行后期调试。需要竞赛组织者、竞答系统设计者、主持人、系统操作员、虚拟选手同时到场进行至少两次完整的流程测试并根据测试结果对系统进行再调试。
  (5)给出其他可行性的竞答设计解决方案。
  参考文献
  [1] (美)Adobe公司.Adobe Flash CS4 ActionScript 3.0中文版经典教程[M].人民邮电出版社,2009:65,158-159.
  [2] 郭琳.Flash课件平台组件技术研究[J].辽宁高职学报, 2009,11(9):102-103.
  [3] (美)Roger Braunstein.ActionScript 3.0宝典[M].2版.清华大学出版社,2012:134-136,173-176,193-194.
  [4] 刘欢.Flash ActionScript 3.0交互设计200例[M].人民邮电出版社,2015:304-309.
  [5] Adobe Systems Incorporated.Sound Channel-AS3.ActionScript3.0 Reference for the Adobe Flash Platform[Z].2016.
  [6] Adobe Systems Incorporated.Sound Transform-AS3. ActionScript 3.0 Reference for the Adobe Flash Platform[Z].2016.
其他文献
人本主义思想教育观认为体育教学的改革需要围绕学生来进行改革,强调以人为本的价值理念,将体育教育的重心转向学生,突出学生的创造性和主动性。笔者认为,在我国高校体育教学改革
对高职院校体育教学目标、课程设置、教学内容体系、教学方法与手段等方面进行剖析研究,建立具有创新精神的高职院校体育教学模式,为体育教学服务.
《物理专业英语》是《大学英语》与物理专业课程有机结合之后的升华,已经成为各高校物理专业的重要基础课之一。学好物理专业英语,可以为物理专业学生将来在物理及其他领域更
【目的】通过研究钙调素mRNA在梨(Pyrus pyrifolia NaKai)子房和幼果中的表达特性,探讨其在盛花后子房和幼果发育中的生理作用。【方法】以10年生黄花梨盛花前后子房和幼果为试
摘 要:针对高速公路运营中桥面铺装层间剪切破坏、开裂、水损害、车辙等病害发生,从桥面防水、粘结特性出发,分析病害与防水粘结层破坏有很大关系,提出桥面防水层采用桥面同步碎石防水层施工方法,并由原材料选择、施工工艺和质量控制入手通过工程施工实例,对施工的桥面同步碎石防水层进行拉拔和剪切试验验证,桥面同步碎石在高速公路上具有防止水分侵入桥面水泥混凝土,起到防水层的作用,供施工技术管理人员参考。  关键词
近日,湖北省教育考试院公布2012年湖北省硕士研究生考试考场规则,规则中称该省将统一配置挂钟、统一考试文具等。2012年全国硕士研究生入学考试于2012年1月7—8日举行,全省报考
摘 要:研究分析了变压器保护工作存在的问题和原因,提供了利用计算机技术加强变压器保护,科学应用变压器跳闸组件,建立变压器保护的数字化平台,优化变压器保护信息的采集组件等方法和措施,为电力企业做好变压器保护工作,实现电力运行的安全性和效率性做出了深层次研讨。  关键词:变压器 电力运行 计算机技术 跳闸组建 数字化平台 信息 保护  中图分类号:TM73 文献标识码:A 文章编号:1674-098X
DOI:10.16660/j.cnki.1674-098X.2017.25.071  摘 要:针对采用传统工艺方法成型的圆柱形复合材料螺旋单元存在的质量问题进行分析,通过一系列工艺改进措施,解决了螺旋筒内壁贫胶、螺旋线端头过切、螺距尺寸超差、螺旋线表面起皱等问题,保证了产品质量。  关键词:螺旋单元 圆柱形 复合材料  中图分类号:V25 文献标识码:A 文章编号:1674-098X(2017)0
【目的】探讨花药绒毡层特异启动子BcA9调控的反义BcMF12基因对白菜(Brassica campestris L.ssp.chinensis,syn.B.rapaL.ssp.chinensis)基因沉默的效果,明确其对花粉发育的影响
【目的】筛选与甘蓝显性雄性不育基因CDMs399-3紧密连锁的分子标记。【方法】以甘蓝显性核不育为不育源转育获得的芥蓝BC4分离群体226个单株为试材,利用SRAP、SSR技术结合集