MCGS四路抢答器

                                      MCGS四路抢答器

文章写于2020.7.18晚,源文件已上传分享

1.需求分析

       抢答器在各种智力、知识竞赛中十分常见,如“中国诗词大会”、“中国成语大会”等,选手门需要抢答问题,主持人除了出题外,还要负责判定答案是否正确,此外还需要分数统计。一个好的抢答系统要求反应迅速、功能完备、操作简单明了。四路抢答器是比较简单的抢答系统,支持四位及以下选手同台竞赛,适合与各种比赛的抢答环节。

2.系统规划

2.1功能要求

       主持人按下出题按钮后10秒内抢答有效,未按下出题按钮的抢答行为一律视为犯规;十秒内无人抢答则此题作废。要求有抢答成功统计、犯规统计以及最终得分统计;选手成功抢答后,身前的绿灯亮起(若犯规则为黄灯),数码管显示区域显示时间和选手的号码,同时出现响应该行为的文字提示。回答结束后,主持人可判断答案的正误,系统自动统计得分。要求存在回合结束按钮以结束当前回合,存在复位按钮以便进行其他场次的比赛。

2.2窗口布局

MCGS四路抢答器_第1张图片

开始界面

MCGS四路抢答器_第2张图片

操作界面

2.3实时数据库

MCGS四路抢答器_第3张图片

MCGS四路抢答器_第4张图片

2.4运行策略

MCGS四路抢答器_第5张图片

循环时间设置为1秒,可以充当计时器;循环过程中系统监视实时数据库的各个变量,做出相应的决策。

MCGS四路抢答器_第6张图片

2.5抢答行为设计

       如果主持人已经出题,且其他竞争选手还未抢答,则抢答成功,问题消失,指示灯点亮;若主持人未出题,同时其他未犯规,则此次抢答视为犯规,相应指示灯点亮。

3.设计过程

3.1新建工程

3.2如上添加实时数据库对象

3.3新建两个用户窗口

3.4设置窗口1

    窗口1设置为启动窗口,如图3.1,完成后双击窗口1,在工具箱中选择矩形工具并绘制矩形区域,在区域内绘制两个文字标签,并添加介绍文字。选择工具箱的标准按钮工具,在右下角放置按钮,双击按钮在操作属性中设置抬起功能,如图3.2。

MCGS四路抢答器_第7张图片

                         图3.1

MCGS四路抢答器_第8张图片

                                         图3.2

3.5设置窗口0

(1)放置四个标准按钮,分别为抢答按钮1-4;按钮的背景色为默认,文字颜色设置为黑色;设置按钮的脚本程序如图3.3。四个按钮的添加过程完全相同,只是脚本程序略作更改。

 

MCGS四路抢答器_第9张图片

                                                    图3.3

(2)添加选手1的抢答指示灯。绘制一个矩形,双击进行属性设置如图3.4。勾选颜色填充和可见度后,分别进行相应的图3.5和3.6所示的操作。

 

MCGS四路抢答器_第10张图片

                                         图3.4

MCGS四路抢答器_第11张图片

                                      图3.5

 

MCGS四路抢答器_第12张图片

                                     图3.6

(2)绘制另一个矩形,与矩形1的设置类似,只是将控制表达式更改为fg1,颜色填充更改为黄色。

(3)选中两个矩形,点击中心对齐,然后单击右键,选择排列、合成单元(如图3.7);此时可以改变颜色的信号指示灯制作完成。其他三个选手的抢答指示灯制作方法相同。

 

MCGS四路抢答器_第13张图片

                                 图3.7

(4)设置文字提示区域,先设置如图3.8的四个文字标签,在属性设置中勾选可见度,在可见度选项卡中,添加逻辑控制式:

犯规:fg1=1 or fg2=1 or fg3=1 or fg4=1

此题无效:end=1

抢答成功:L1=1 or L2=1 or L3=1 or L4=1

等待抢答:begin=1 and L1=0 and L2=0 and L3=0 and L4=0

然后合并为一个单元。

MCGS四路抢答器_第14张图片

                                   图3.8

(5)设置功能按键(出题、回答正确、回答错误、回合结束、复位)。五个按键的设置方法类似,选择标准按钮,设置相应的基本属性、操作属性和脚本程序(出题按钮如图3.9、图3.10、图3.11所示,其他按钮类似,只是操作属性和脚本程序不同)。

 

MCGS四路抢答器_第15张图片

                                             图3.9

MCGS四路抢答器_第16张图片

                                           图3.10

MCGS四路抢答器_第17张图片

                                              图3.11

(6)功能指示灯(如图3.12),利用逻辑表达式控制颜色填充,添加了闪烁效果,如图3.13和图3.14,使其在绿灯点亮时闪烁。

MCGS四路抢答器_第18张图片

                                   图3.12

 

MCGS四路抢答器_第19张图片

                                         图3.13

MCGS四路抢答器_第20张图片

                                         图3.14

(7)抢答成功次数统计、犯规次数统计、最终得分统计和时间显示的添加方法相同。先在界面上添加凹槽平面,在平面内放置输入框,设置输入框的操作属性(如图3.15),选择相应的实时数据库中的变量即可。

MCGS四路抢答器_第21张图片

                                     图3.15

(8)数码管的添加。绘制7个相同矩形区域,如图摆放;每个区域设置相应的颜色填充和可见度,如图3.16、图3.17、图3.18所示。

MCGS四路抢答器_第22张图片

              图3.16

MCGS四路抢答器_第23张图片

                                   图3.17

 

MCGS四路抢答器_第24张图片

                                     图3.18

(9)添加返回窗口1的标准按钮,完成窗口0的设置,如图3.19所示。

MCGS四路抢答器_第25张图片

                                                图3.19

3.6双击窗口进入用户窗口属性设置,点击循环脚本,如图3.20。

MCGS四路抢答器_第26张图片

                                     图3.20

在循环脚本中添加下面的循环代码

if L2=1 or L3=1 then a=1

if fg2=1 or fg3=1 then a=2

if L2=1 or L3=1 or L1=1 or L4=1 then b=1

if fg2=1 or fg3=1 or fg1=1 or fg4=1 then b=2

if L1=1 or L3=1 or L4=1 then c=1

if fg1=1 or fg3=1 or fg4=1 then c=2

if L3=1 or L2=1 then d=1

if fg2=1 or fg3=1 then d=2

if L2=1 then e=1

if fg2=1 then e=2

if L4=1 then f=1

if fg4=1 then f=2

if L2=1 or L3=1 or L4=1 then g=1

if fg2=1 or fg3=1 or fg4=1 then g=2

 

if problem=1 then time=time+1

if time=10 then

time=0

problem=0

begin=0

end=1

endif

 

if P1=1 then

score1=score1+1

P1=0

endif

if P2=1 then

score2=score2+1

P2=0

endif

if P3=1 then

score3=score3+1

P3=0

endif

if P4=1 then

score4=score4+1

P4=0

endif

 

if error1=1 then

foul1=foul1+1

error1=0

endif

if error2=1 then

foul2=foul2+1

error2=0

endif

if error3=1 then

foul3=foul3+1

error3=0

endif

if error4=1 then

foul4=foul4+1

error4=0

endif

 

if count=1 then

FinalS1=FinalS1+(correct-1)*L1*10-fg1*5

FinalS2=FinalS2+(correct-1)*L2*10-fg2*5

FinalS3=FinalS3+(correct-1)*L3*10-fg3*5

FinalS4=FinalS4+(correct-1)*L4*10-fg4*5

count=0

endif

3.7按F5,点击工程下载,如图3.21所示,点击启动运行,得到如图3.22所示界面。

MCGS四路抢答器_第27张图片

                                      图3.21

 

MCGS四路抢答器_第28张图片

                                                   图3.22

附录1:功能按键的脚本程序

(1)回答正确

correct=2

count=1

(2)回答错误

correct=0

count=1

(3)回合结束

L1=0

L2=0

L3=0

L4=0

fg1=0

fg2=0

fg3=0

fg4=0

a=0

b=0

c=0

d=0

e=0

f=0

g=0

time=0

end=0

begin=0

correct=0

(4)复位功能

L1=0

L2=0

L3=0

L4=0

fg1=0

fg2=0

fg3=0

fg4=0

a=0

b=0

c=0

d=0

e=0

f=0

g=0

time=0

end=0

begin=0

foul1=0

foul2=0

foul3=0

foul4=0

FinalS1=0

FinalS2=0

FinalS3=0

FinalS4=0

score1=0

score2=0

score3=0

score4=0

 

附录2:系统操作过程图

MCGS四路抢答器_第29张图片

 

你可能感兴趣的:(其他,其他)