if 条件1 then 执行语句1
else if 条件2 then 执行语句2
else 执行语句3
end if
上述程序代码段含义是:如果满足条件1,程序将执行语句1;而如果满足条件2,将执行语句2;否则的话程序只能执行语句3;执行完这个条件结构后,程序自动由End If来结束整个条件判断。
(2)循环判断语句
循环判断语句可以在条件仍然满足的情况下重复执行某一段程序代码,而被重复执行的这段程序代码通常被称为循环体。Authorware 6.5支持的循环判断语句结构都以repeat开头,end repeat结束。例如:
repeat with i:=1 to 10
str:=String(i)
end repeat
即自变量i在1≦i≦10的范围内将重复执行赋值语句str:=String(i),每循环一次i自增+1,直到i值大于10结束退出循环。
Authorware支持的循环判断语句结构共有以下几类(见图2):
repeat with counter:= start [down] to finish
循环体语句
end repeat
这种循环结构中,值start和finish分别是循环的上下限,当循环执行到计数器counter超出循环范围时,将自动退出循环。此种循环结构可以指定计数器counter的自增方式,即每次递增1还是递减1(down)。
repeat with 变量in 列表
循环体语句
end repeat
这种循环结构通常被应用在数组上,如果变量元素在指定的列表中,将重复执行循环体的程序语句;每执行完一次循环后,就会自动指定列表中的下一个变量元素,直到该变量元素超出列表索引范围,才执行end repeat结束循环。
repeat while条件
循环体语句
end repeat
这种循环结构相对简单,即在条件满足的情况下循环执行循环体的程序语句,直到条件不满足为止才执行end repeat结束循环。
提示技巧
初学者如果还不熟悉Authorware 6.5的条件/循环判断语句结构,可以通过点击计算代码编辑器窗口(如图1)工具栏中的 图标按钮调出如图2所示的语句结构插入窗口,这也是Authorware 6.5的新增辅助设计工具之一。
三、程序语句代码范例
了解上面的一些程序语句编写基本知识和技巧后,我们来加深一下认识,尝试编写一段程序代码,在Authorware窗口中绘制一个饼状模拟分布图。
启动Authorware 6.5并新建一个a6p文件,在流程线上拖入一个计算图标,并输入以下程序代码:
--//相关变量初始化
orgx := 200
orgy := 200
radius := 150
pensize:=2
multiplier:=10
percentages:="30,15,20,35"
num_angles:=LineCount(percentages,",")
--//绘制饼状分布模拟图
repeat with i := 1 to num_angles
percentage := GetLine(percentages,i,i,",")
if i = 1 then
SetFrame(TRUE , RGB(255,0,0))
else if i=2 then
SetFrame(TRUE , RGB(0,255,0))
else if i=3 then
SetFrame(TRUE , RGB(0,0,255))
else if i=4 then
SetFrame(TRUE , RGB(255,255,0))
end if
start:=finish
finish:=finish+percentage
repeat with j:=start*multiplier to finish*multiplier
angle := (((50 - (j*(1/multiplier))) * Pi / 50))
x := SIN(angle) * radius
y := COS(angle) * radius
Line(pensize, orgx,orgy,orgx+x,orgy+y)
end repeat
total := total + percentage
end repeat
输入完毕后按快捷键Ctrl+R调试执行,您将看到窗口屏幕上自动绘制出一个饼状模拟分布图,如图3所示。

图 3
这里魔岩并不要求大家对上述的代码完全读懂(因此本文也不做详细分析),我们的重点是给大家一个感性认识,使大家了解并掌握Authorware 6.5程序语句与结构的编写特点和相关基础知识即可。