窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集_启动窗口 | | | |
变量名 | 类 型 | 数组 | 备 注 |
当前角度 | 整数型 | |
敌人列表 | 敌人信息 | 0 |
上次扫描方向 | 整数型 | |
颜色表 | 整数型 | 0 |
|
敌人信息 | |
|
角度 | 整数型 | | |
半径 | 整数型 | | |
颜色 | 整数型 | | |
轨迹点 | 轨迹点信息 | | 2 |
_启动窗口.宽度 = 700
_启动窗口.高度 = 600
动画框1.宽度 = 600
动画框1.高度 = 600
初始化颜色表 ()绘制雷达背景图 ()初始化敌人 ()颜色表 =
{ #红色, #绿色, #蓝色, #黄色, #紫色, #青绿, #粉红 }动画框1.
清除背景 (, , ,
)动画框1.画笔颜色 =
#白色 动画框1.画笔粗细 = 2
动画框1.刷子颜色 =
#浅灰 绘制扇形 (0, 500, 600, 600, 315, 405
)绘制角度刻度线 ()重定义数组 (敌人列表, 假, 3
)
计次循环首 (3, i
)
敌人列表
[i
].角度 =
取随机数 (-45, 45
)
敌人列表
[i
].半径 =
取随机数 (50, 300
)
敌人列表
[i
].颜色 = 颜色表
[i %
取数组成员数 (颜色表
) + 1
]
重定义数组 (敌人列表
[i
].轨迹点, 假, 0
)
计次循环尾 ()|
绘制扇形 | | |
|
左边 | 整数型 | | | |
顶边 | 整数型 | | | | 右边 | 整数型 | | | | 底边 | 整数型 | | | | 起始角度 | 整数型 | | | | 终止角度 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
圆心X | 整数型 | | |
圆心Y | 整数型 | | |
半径 | 整数型 | | |
点数组 | 整数型 | | 2 |
点索引 | 整数型 | | |
圆心X
= (左边 + 右边
) ÷ 2
圆心Y
= (顶边 + 底边
) ÷ 2
半径
= (右边 - 左边
) ÷ 2
点索引 = 1
重定义数组 (点数组,
假, (终止角度 - 起始角度 + 2
) × 2
)点数组
[点索引
] = 圆心X
点索引 = 点索引 + 1
点数组
[点索引
] = 圆心Y
点索引 = 点索引 + 1
计次循环首 (终止角度 - 起始角度 + 1, 当前角度
)
当前角度 = 当前角度 + 起始角度 - 1

点数组
[点索引
] = 圆心X + 半径 ×
求正弦 (当前角度 × 3.14159 ÷ 180
)
点索引 = 点索引 + 1

点数组
[点索引
] = 圆心Y - 半径 ×
求余弦 (当前角度 × 3.14159 ÷ 180
)
点索引 = 点索引 + 1
计次循环尾 ()动画框1.
画多边形 (点数组,
)变量名 | 类 型 | 静态 | 数组 | 备 注 |
角度 | 整数型 | | |
圆心X | 整数型 | | |
圆心Y | 整数型 | | |
半径 | 整数型 | | |
起点X | 整数型 | | |
起点Y | 整数型 | | |
终点X | 整数型 | | |
终点Y | 整数型 | | |
角度文本坐标X | 整数型 | | |
角度文本坐标Y | 整数型 | | |
角度文本半径 | 整数型 | | |
圆心X = 300
圆心Y = 550
半径 = 300
角度文本半径 = 400
计次循环首 (90, 角度
)
当前角度 = 315 + 角度

起点X = 圆心X + 半径 × 0.9 ×
求正弦 (当前角度 × 3.14159 ÷ 180
)
起点Y = 圆心Y - 半径 × 0.9 ×
求余弦 (当前角度 × 3.14159 ÷ 180
)
角度文本坐标X = 圆心X + 角度文本半径 × 0.9 ×
求正弦 (当前角度 × 3.14159 ÷ 180
)
角度文本坐标Y = 圆心Y - 角度文本半径 × 0.9 ×
求余弦 (当前角度 × 3.14159 ÷ 180
)
终点X = 圆心X + 半径 ×
求正弦 (当前角度 × 3.14159 ÷ 180
)
终点Y = 圆心Y - 半径 ×
求余弦 (当前角度 × 3.14159 ÷ 180
)
动画框1.
画直线 (起点X, 起点Y, 终点X, 终点Y
)
如果真 (角度 % 4 = 1
)

动画框1.文本颜色 =
#蓝灰 

如果真 (角度 - 45 < 0
)


动画框1.
定位写出 (角度文本坐标X, 角度文本坐标Y,
到文本 (角度 - 45
) +
“°”)

如果真 (角度 > 45
)


动画框1.
定位写出 (角度文本坐标X, 角度文本坐标Y,
“+” +
到文本 (角度 - 45
) +
“°”)




计次循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 |
圆心X | 整数型 | | |
圆心Y | 整数型 | | |
半径 | 整数型 | | |
终点X | 整数型 | | |
终点Y | 整数型 | | |
扫描角度 | 整数型 | | |
扫描方向 | 整数型 | | |
i | 整数型 | | |
新轨迹点 | 轨迹点信息 | | |
如果真 (扫描方向 = 0
)
扫描方向 = 1

动画框1.
清除背景 (, , ,
)绘制雷达背景图 ()动画框1.画笔颜色 =
#红色 动画框1.画笔粗细 = 2
圆心X = 300
圆心Y = 550
半径 = 300
扫描角度 = 扫描角度 + 扫描方向
计次循环首 (取数组成员数 (敌人列表
), i
)
如果真 (敌人列表
[i
].角度 + 45 = 扫描角度
)


新轨迹点.角度 = 敌人列表
[i
].角度


新轨迹点.半径 = 敌人列表
[i
].半径

加入成员 (敌人列表
[i
].轨迹点, 新轨迹点
)


如果真 (取数组成员数 (敌人列表
[i
].轨迹点
) > 4
)

删除成员 (敌人列表
[i
].轨迹点, 1, 1
)


敌人列表
[i
].角度 =
取随机数 (-45, 45
)

敌人列表
[i
].半径 =
取随机数 (50, 300
)

计次循环尾 ()
如果 (扫描角度 > 90
)
扫描角度 = 90

扫描方向 = -1

如果 (扫描角度 < 0
)

扫描角度 = 0


扫描方向 = 1







当前角度 = 315 + 扫描角度
透明标签1.标题 =
“当前角度:” +
到文本 (扫描角度 - 45
) +
“°” 终点X = 圆心X + 半径 ×
求正弦 (当前角度 × 3.14159 ÷ 180
)终点Y = 圆心Y - 半径 ×
求余弦 (当前角度 × 3.14159 ÷ 180
)动画框1.
画直线 (圆心X, 圆心Y, 终点X, 终点Y
)绘制敌人 ()变量名 | 类 型 | 静态 | 数组 | 备 注 |
i | 整数型 | | |
j | 整数型 | | |
圆心X | 整数型 | | |
圆心Y | 整数型 | | |
原角度 | 整数型 | | |
x1 | 整数型 | | |
y1 | 整数型 | | |
x2 | 整数型 | | |
y2 | 整数型 | | |
当前轨迹点 | 轨迹点信息 | | |
圆心X = 300
圆心Y = 550
计次循环首 (取数组成员数 (敌人列表
), i
)

如果真 (取数组成员数 (敌人列表
[i
].轨迹点
) ≥ 2
)

动画框1.画笔颜色 = 敌人列表
[i
].颜色


动画框1.画笔粗细 = 1


计次循环首 (取数组成员数 (敌人列表
[i
].轨迹点
) - 1, j
)


当前轨迹点 = 敌人列表
[i
].轨迹点
[j
]


原角度 = 315 + 当前轨迹点.角度 + 45



x1 = 圆心X + 当前轨迹点.半径 ×
求正弦 (原角度 ×
#pi ÷ 180
)


y1 = 圆心Y - 当前轨迹点.半径 ×
求余弦 (原角度 ×
#pi ÷ 180
)


当前轨迹点 = 敌人列表
[i
].轨迹点
[j + 1
]


原角度 = 315 + 当前轨迹点.角度 + 45



x2 = 圆心X + 当前轨迹点.半径 ×
求正弦 (原角度 ×
#pi ÷ 180
)


y2 = 圆心Y - 当前轨迹点.半径 ×
求余弦 (原角度 ×
#pi ÷ 180
)

画虚线 (x1, y1, x2, y2
)

计次循环尾 ()


计次循环首 (取数组成员数 (敌人列表
[i
].轨迹点
), j
)

当前轨迹点 = 敌人列表
[i
].轨迹点
[j
]

原角度 = 315 + 当前轨迹点.角度 + 45


x1 = 圆心X + 当前轨迹点.半径 ×
求正弦 (原角度 ×
#pi ÷ 180
)

y1 = 圆心Y - 当前轨迹点.半径 ×
求余弦 (原角度 ×
#pi ÷ 180
)

动画框1.刷子颜色 = 敌人列表
[i
].颜色


动画框1.
画椭圆 (x1 - 3, y1 - 3, x1 + 3, y1 + 3
)
计次循环尾 ()

原角度 = 315 + 敌人列表
[i
].角度 + 45

x1 = 圆心X + 敌人列表
[i
].半径 ×
求正弦 (原角度 ×
#pi ÷ 180
)
y1 = 圆心Y - 敌人列表
[i
].半径 ×
求余弦 (原角度 ×
#pi ÷ 180
)
动画框1.刷子颜色 = 敌人列表
[i
].颜色

动画框1.
画椭圆 (x1 - 5, y1 - 5, x1 + 5, y1 + 5
)
计次循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 |
步长 | 整数型 | | |
dx | 整数型 | | |
dy | 整数型 | | |
总步数 | 整数型 | | |
i | 整数型 | | |
dx = x2 - x1
dy = y2 - y1
总步数 =
求平方根 (dx × dx + dy × dy
) ÷ 10
如果真 (总步数 < 1
)
总步数 = 1

计次循环首 (总步数, i
)
如果 (i % 2 = 1
) 

动画框1.
画直线 (x1 + dx �
� (i - 1
) ÷ 总步数, y1 + dy �
� (i - 1
) ÷ 总步数, x1 + dx × i ÷ 总步数, y1 + dy × i ÷ 总步数
)





计次循环尾 ()
计次循环首 (取数组成员数 (敌人列表
), i
)
敌人列表
[i
].角度 =
取随机数 (-45, 45
)
敌人列表
[i
].半径 =
取随机数 (50, 300
)
计次循环尾 ()时钟1.时钟周期 = hk条1.位置
透明标签2.标题 =
“扫描速度:” +
到文本 (hk条1.位置
) +
“ 毫秒”时钟1.时钟周期 = 0
hk条1.禁止 = 真
hk条1.禁止 = 假
时钟1.时钟周期 = hk条1.位置
步数 = 10
置入代码 ({ 54, 139, 69, 8, 54, 43, 69, 16, 15, 175, 192, 54, 139, 93, 12, 54, 43, 93, 20, 15, 175, 219, 1, 216, 242, 15, 42, 192, 242, 15, 81, 192, 184, 10, 0, 0, 0, 242, 15, 42, 200, 242, 15, 94, 193, 54, 242, 15, 17, 69, 252
})
变量循环首 (1, 步数, 2, 计次
) 
动画框1.
画直线 (x1 + dx �
� (i - 1
) ÷ 总步数, y1 + dy �
� (i - 1
) ÷ 总步数, x1 + dx × i ÷ 总步数, y1 + dy × i ÷ 总步数
)
变量循环尾 ()
置入代码 ({ 49, 210, 54, 139, 69, 8, 54, 139, 77, 12, 227, 2, 247, 241, 137, 208, 201, 194, 8, 0
})返回 (0
)