您的位置:   首页>>设计与制作>>电脑抢答器设计与制作
  《幸运智多星》节目控制软件的设计与实现
  • 来源:
  • 作者:qdq
  • 时间:2006-6-18 7:15:46
  • 点击数:6247
推荐阅读   加入收藏      

2002中南地区广播电视技术年会优秀论文二等奖

    《幸运智多星》是一档益智类电视节目,节目形式最早来自英国,形式固定且比较复杂,由一套节目控制软件控制。现在国内类似节目有很多,节目形式有了很多变化但基本上仍以抢答为主。《幸运智多星》节目从开播以来,已经经过多次的改版和调整,原有的节目控制软件已经不能适应节目形式的变化,因此我们在总结了该类节目的基本形式和变化情况后,重新开发了一套新的节目控制软件,以适应节目形式的不断变化。

一、 系统结构与基本功能需求

    《幸运智多星》节目控制系统由一台计算机及三个选手成绩显示屏、三个抢答器、一个大屏幕显示器组成,系统结构见图1。
      
  
    三个抢答器通过串口与控制计算机相连,三个选手的成绩显示屏及大屏幕则和控制计算机的显示器一起通过多屏显示卡与控制计算机相连。计算机输出的VGA信号通过AerKey7转为视频信号后,再输出给三个选手成绩显示屏和大屏幕(有一些型号的多屏卡可直接输出视频信号)。

    节目的基本形式主要是抢答。在节目录制过程中,三位选手在主持人的组织下进行抢答,控制计算机根据串口信息判断是哪一位首先按下抢答器,并通过选手的成绩显示屏标记出获得答题权的选手。选手答完题目后,根据主持人的判断决定是否给选手加分。在基本的抢答形式中,大屏幕只显示出系统的底图,当有选手抢答时大屏幕与选手成绩显示屏同步显示获得抢答权的选手的成绩。
    在基本的抢答形式以外,还有一些变化的形式,主要有在大屏幕的配合下进行抢答(即三位选手根据大屏幕的显示内容进行抢答)、单个选手根据大屏幕的显示进行答题(即不使用抢答器,而是由一个选手进行答题)。
    经过对原有软件的分析及近一年来节目的具体情况我们对新的软件提出了以下需求,主要是要求提高软件的灵活性,满足节目形式不断调整的需要:
1、 保持基本的节目形式不变。
2、 在显示成绩时可以用数字也可以用图片来表示。
3、 系统可以定义总的题目数量、每一轮次的题目数量及其位置。
4、 节目环节可由用户自定义,每一个轮次都可以采取不同的节目形式。
5、 以模块化方式实现,当某些节目环节需要调整时,无需对整个系统进行修改。
6、 节目中使用的图片、音乐等可进行方便地更改,无需修改程序。

二、 系统数据流分析

    根据节目形式的不同,有不同的数据流,图2是最基本的抢答形式的数据流图。
      

    在大屏目配合下的抢答形式比单纯的抢答形式要复杂一些,主要是大屏幕在选手抢答前不是只显示底图,而是根据操作员的命令显示各种形式的题目,数据流图见图3:
    由单个选手根据大屏幕的显示进行答题的节目形式要简单的多,大屏幕根据操作员的命令进行变化,没有其它操作,不再附图。

      

三 . 系统结构设计。

    根据节目形式的不同可将系统基本上划分为三个基本模块,加上系统配置共可划分为四个模块,结构图见图4:

              

    在节目中,基本的抢答形式是比较固定的,因此在系统中作为基本构架,而另外两种形式因为常常要根据需要调整内容和形式,因此可设计成动态链接库,以便在修改时不必对主程序进行改动。

四、 系统界面设计:

    《幸运智多星》节目控制系统的系统界面由以下几个部分组成:控制计算机的显示器的主控界面、选手的三个成绩显示屏的界面、大屏幕的界面及系统配置界面。主控界面是操作员进行操作的系统主界面,见图5。

       

    主控界面主要由三个部分组成,上部的三个显示区分别与三个选手的成绩显示屏相对应,即三个选手的成绩显示屏所显示的内容与这三个显示区的内容是完全一致,操作员对这三个显示区进行操作就可完成对三个选手成绩屏的操作。左下部的一个较大的显示区与大屏幕相对应,对这一部分的操作可完全反应到大屏幕上。使用大屏幕的操作都是通过对这一区域的操作来完成的。右下部为按钮区,大多数操作命令在这一区域完成。
    三个选手的成绩显示屏及大屏幕主要是单纯的显示,且内容与上面介绍的几个区域完全一致,不再敷述。
    系统配置界面主要有以下几个部分:
    图 6 中主要用来配置系统中所需的各种图片,图片都存储在数据库中。
    图 7 主要用来配置主要的系统参数,如"商标数设置"主要用来设置系统总的题目数量,这里的商标数指的是每一个选手成绩显示屏可显示的题目数,如图 6 中选的是"12个商标"则说明系统中共有3X12=36个题目。"答错是否停一轮"用来设置当选手抢得答题权后,若答错了题目,是否要被剥夺下一轮的抢答权,以示惩罚。"显示地址设置"用来设定三个选手成绩屏和大屏幕的显示地址。"获胜商标号"用来设定每一轮中题目数量及位置。"是否使用选手屏幕"和"是否使用大屏幕"组合起来可完成对节目形式的选择,当前者为"是"、后者为"否"时,节目形式就是基本的抢答形式。当二者都是"是"时,则是在大屏幕的配合下的抢答形式。当前者是"否",后者为"是"时,则是单独使用大屏幕的节目形式。

       

       

五、部分功能实现方法

    《幸运智多星》节目控制系统实现的关键技术之一是对多屏卡的操作。多屏卡在实际使用中类似于对一个有大分辨率的显卡的操作,例如,当设置分辩率为1024X768,采用6X1设置的6屏卡(即采用横向6个纵向1个设置的6屏卡)时,6屏卡的实际分辩率为6144X768,这样我们可以通不同的地址来访问不同的屏幕,如上例中,第一个屏幕地址为0至1024,而第二个屏幕地址为1024至2048…,以此类推。因此在实际实现过程中,对选手成绩屏和大屏的操作其实是两次写的过程,即:首先在控制计算机的相应显示区域显示想要显示的图片(第一次写)然后将该区域的内容拷贝到相应屏幕上(第二次写)。第二次写的过程之所以采用拷贝而不是直接写,是因为在Delphi中画布拷贝命令的刷新速度要远高于对图片的操作,从而避免屏幕的闪烁。但在进行画布拷贝命令时要注意该命令的执行一定要在控制计算机的图片操作完成之后有一个小的延迟,否则画布拷贝命令执行速度比图片操作命令要快,拷贝至屏幕上的图像有可能是进行图片操作前的内容。下面是一个例子。

    procedure Main_FormFormShow(Sender: TObject);
begin
BackGround_Image.Picture.LoadFromFile('Game21\ BackGround.bmp');// 装载底图
Image1.Picture.LoadFromFile('Game21\g1.bmp');
Image2.Picture.LoadFromFile('Game21\g2.bmp');
Image3.Picture.LoadFromFile('Game21\g3.bmp');
Image4.Picture.LoadFromFile('Game21\g4.bmp');
Image5.Picture.LoadFromFile('Game21\g5.bmp');
Image6.Picture.LoadFromFile('Game21\g6.bmp');
Image7.Picture.LoadFromFile('Game21\g7.bmp');
Image8.Picture.LoadFromFile('Game21\g8.bmp');
Image9.Picture.LoadFromFile('Game21\g9.bmp');
Image10.Picture.LoadFromFile('Game21\g10.bmp');
Image11.Picture.LoadFromFile('Game21\g11.bmp');
Image12.Picture.LoadFromFile('Game21\g12.bmp');// 装载图片
Timer1.Enabled:=True;//使TTimer控件开始工作
end;

procedure Main_Form.Timer1Timer(Sender: TObject);
begi
Gform.Canvas.CopyRect(Rect(0,0,1024,768), Main_Form.Canvas,Rect(1,0,528,396));//将控制界面的相应内容(控制界面的一部分)拷贝至Gform窗口
Timer1.Enabled:=False;// 使TTimer控件停止工作
end;

 

 

上一条:基于TCP协议的抢答器系统        下一条:分屏式电脑抢答器
相关文章