基于AS3.0的竞答系统的设计与实现_第1页
基于AS3.0的竞答系统的设计与实现_第2页
基于AS3.0的竞答系统的设计与实现_第3页
基于AS3.0的竞答系统的设计与实现_第4页
基于AS3.0的竞答系统的设计与实现_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    基于as3.0的竞答系统的设计与实现    摘 要:为了提高职工的知识和业务水平,各大企事业单位及工会系统经常会开展形式多样的竞赛活动,而知识竞答是最为常见的一种竞赛形式。科学设计竞答内容和竞答形式是保证竞赛公平公正开展的前提。经过周密设计的竞答系统,可以有效地保证竞答的公平、公开、公正和高效性,大大节省时间和人力成本。该文以沈阳市总工会民管部集体合同知识竞赛竞答系统为例,较为详细地说明了竞答系统的设计流程及相关技术,针对不同题型给出了可行的竞答设计方案。关键词:竞答系统 随机算法 as 3.0 urlloader xml:tp31 :a :16

2、74-098x(2017)02(c)-0128-04竞答设计主要包括赛制设计、题型设计、题目题量设计、评分标准设计和竞答流程设计等。而竞答系统的设计则更为复杂,除了要考虑到以上几点,还要考虑到题目抽取的随机性,答案显示的准确性、时效性,系统的可操控性,主持人与竞赛选手的互动性等要素。该文为提高可读性,突破传统的需求分析、概要设计、详细设计、编码、测试几大模块,以竞答设计的步骤为主线,逐一剖析竞答系统的设计流程。1 赛制设计设计分为预赛、复赛、决赛3个部分。预赛3组,每组6队,每队3人,采用6进4制;复赛2组,每组6队,每队3人,采用6进3制;决赛1组,共6队,每队3人,最后按成绩高低决出一等奖

3、1队,二等奖2队,三等奖3队。以上是根据实际参赛队伍情况进行的设计。根据以上赛制设计,竞答系统界面预留预赛、复赛、决赛单选按钮,以便按不同场次抽取试卷(如图1所示)。侦听单选按钮的鼠标点击事件并做出响应,设置场次变量(s)并设定随机抽取试卷量的基数(range)。主要功能脚本如下:rgroup.addeventlistener("click",changefun);function changefun(e:mouseevent)var radg:radiobuttongroup = e.target as radiobuttongroup;switch (radg.sele

4、ction)case r1 :s = 1;range = 6;break;case r2 :s = 2;range = 4;break;case r3 :s = 3;range =2;break;2 题型设计集体合同竞赛主要是考查竞赛选手个人和团队对相关知识的识别、判定和分析理解能力,所以在题型设计上选用了个人必答题、小组共答题、抢答题、风险题、加试题。解读成标准的题型就是4种,即填空、判断、简答和案例分析。而无论是什么题型,因为竞答现场要求的就是显示题目,选手作答,然后显示答案,所以,竞答系统数据库设计考虑两个字段就可以了,一个是题目、一个是答案。根据上述题型,设计竞答系统外部加载xml文件

5、结构(以第1套必答题为例)如下:双方协商代表的人数应当对等,一般每方( ) 人,并各自确定一名首席代表。3-9人同一用人单位与同一劳动者只能约定( )次试用期。一次3 題目题量设计3.1 题目题量设计原则(1)随机抽取题目作答形式决定了每种题型的题目设计量要超过实际竞答题目量,一般随机抽取题目基数与实际抽取题目数比例越高越好,也可根据实际需要。(2)不同场次抽取的试卷基数也要也要大于实际抽取试卷数。(3)降低不同试卷的题目重复率,最好互不重复。(4)在试卷基数范围内每次抽取的试卷号互不相同。(5)题号批量抽取且互不相同。3.2 随机抽取题号的实现方法function randomnum(tot

6、al:int,current:int)var currarray:array = ;var nums = ;for (var i=0; i< p>nums.push(i);for (i=0; i< p>var k = math.floor(math.random() *nums.length);/从nums数组中随机抽取一个元素(第k个)currarrayi = numsk + 1;/把nums数组中抽出的元素值赋给currarray数组第i个元素;nums.splice(k, 1);t1.text = currarray0.tostring();/显示抽题号tn.te

7、xt = currarrayn.tostring(); function choosenum(e:mouseevent)randomnum(a,b);/从a个数中随机取不重复的b个数。随机抽取试卷号方法与上面雷同。4 评分标准设计4.1 界面设计因为竞答采用计分器作为计分辅助设备,所以在竞答系统界面设计中要明确给出评分标准,如图2风险题抽取题号界面所示。4.2 不同分值题目切换实现方法var scoretype,score:int;scoretype=0; /分值类型,默认为0score = 200; /默认题目分值为200分fxtr1.group = fxtrgroup;fxtr2.grou

8、p = fxtrgroup;fxtrgroup.addeventlistener("click",fxtchangefun);function fxtchangefun(e:mouseevent)var radg:radiobuttongroup = e.target as radiobuttongroup;/将目标对象的引用指向到radgswitch (radg.selection)case fxtr1 :scoretype = 0;score = 200;fxtloadtxt = "fxt" + s + "-" + sjh + &

9、quot;-" + 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=&qu

10、ot;题目";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,fx

11、txmlloaded);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 競答流程设计在抽取试卷号界面中,首先选取竞答场次,选择预赛、复赛、决赛中的一个,接着抽取该场次的试卷号,进入选取题型界面。在选取题型界面中,选择竞答题型进入相应题型的答题界面。在答题界面中,首先随机为每组抽取题号,然后主持人向参赛选

12、手宣读题目,选手在指定时间内作答,作答完毕显示答案,正确加分,错误按比赛规则扣分或不扣分,并在计分器中更新分数。所有题目作答完毕后按赛制选出优胜队伍。6 可备选的其他题型设计按照加载题目素材的不同,竞答系统还可支持图片、声音、视频、动画等类型的题目,以丰富竞答题目的类型,使竞答形式更加多样、内容更加全面。具体实现方法如下。6.1 图片、动画类题型6.1.1 所需组件uiloader组件。6.1.2 加载办法通过设置uiloader的source属性,使用actionscript可以加载任意swf、jpg、png或gif文件到uiloader组件中,基本语法如下:uiloaderinstance

13、name.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的source6.2 声音类题型6.2

14、.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

15、, currpan);(4)播放音频并控制播放的音量和起始位置。channel=snd.play();channel.soundtransform=trans;(5)停止播放聲音。channel.stop();在具体设计中,以上基本用法一般结合对按钮对象的事件侦听和响应函数来实现。6.3 视频类(1)所需组件:flvplayback 组件。(2)加载办法:通过使用flash直观的“组件检查器”设置常用属性,一般项目文件所需的大部分视频功能不用代码就能够实现。但是如果是多道视频题,则可使用外部xml文件存储视频加载路径,再通过urlloader类的load方法来加载。7 结论综上所述,一个较为完

16、备的竞答系统设计应注意以下几点。(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交互设计20

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论