|
.版本 2
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 方向, 整数型
.程序集变量 蛇, 标签, , "0"
.子程序 __启动窗口_创建完毕
置随机数种子 ()
时钟1.时钟周期 = 300
标签蛇头.左边 = 300
标签蛇头.顶边 = 250
标签食物.左边 = 取随机数 (0, 11) × 50
标签食物.顶边 = 取随机数 (0, 11) × 50
调试输出 (标签食物.左边)
调试输出 (标签食物.顶边)
方向 = 3
加入成员 (蛇, 标签蛇头)
标签蛇头.标题 = “1”
.子程序 _时钟1_周期事件
.局部变量 临时蛇, 标签
.局部变量 i, 整数型
.局部变量 a, 整数型
' 把蛇头和蛇身连接起来
.计次循环首 (取数组成员数 (蛇), i)
a = 取数组成员数 (蛇)
.如果真 (a - i + 1 = 1)
跳出循环 ()
.如果真结束
蛇 [a - i + 1].左边 = 蛇 [a - i].左边
蛇 [a - i + 1].顶边 = 蛇 [a - i].顶边
.计次循环尾 ()
.判断开始 (方向 = 1)
标签蛇头.左边 = 标签蛇头.左边 - 50
.判断 (方向 = 2)
标签蛇头.左边 = 标签蛇头.左边 + 50
.判断 (方向 = 3)
标签蛇头.顶边 = 标签蛇头.顶边 - 50
.判断 (方向 = 4)
标签蛇头.顶边 = 标签蛇头.顶边 + 50
.默认
.判断结束
' 游戏结束判断
.如果真 (标签蛇头.左边 < 0 或 标签蛇头.左边 > 550)
时钟1.时钟周期 = 0
信息框 (“游戏结束!”, 0, , )
结束 ()
.如果真结束
.如果真 (标签蛇头.顶边 < 0 或 标签蛇头.顶边 > 550)
时钟1.时钟周期 = 0
信息框 (“游戏结束!”, 0, , )
结束 ()
.如果真结束
.变量循环首 (2, 取数组成员数 (蛇), 1, i)
.如果真 (蛇 [1].左边 = 蛇 [i].左边 且 蛇 [1].顶边 = 蛇 [i].顶边)
时钟1.时钟周期 = 0
信息框 (“游戏结束!”, 0, , )
结束 ()
.如果真结束
.变量循环尾 ()
' 蛇头和食物重合,标识蛇迟到了食物,复制蛇头当做身体
.如果真 (标签蛇头.左边 = 标签食物.左边 且 标签蛇头.顶边 = 标签食物.顶边)
标签食物.左边 = 取随机数 (0, 11) × 50
标签食物.顶边 = 取随机数 (0, 11) × 50
标签分数.标题 = 到文本 (取数组成员数 (蛇) × 10)
复制窗口组件 (标签蛇头, 临时蛇)
临时蛇.左边 = 蛇 [取数组成员数 (蛇)].左边
临时蛇.顶边 = 蛇 [取数组成员数 (蛇)].顶边
临时蛇.背景颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))
临时蛇.可视 = 真
加入成员 (蛇, 临时蛇)
临时蛇.标题 = 临时蛇.标题 + 到文本 (取数组成员数 (蛇))
.如果真结束
' 关卡
.如果真 (取数组成员数 (蛇) > 6)
时钟1.时钟周期 = 250
.如果真结束
.如果真 (取数组成员数 (蛇) > 12)
时钟1.时钟周期 = 200
.如果真结束
.如果真 (取数组成员数 (蛇) > 18)
时钟1.时钟周期 = 150
.如果真结束
.子程序 _编辑框1_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.判断开始 (键代码 = #上光标键)
.判断开始 (方向 ≠ 4)
方向 = 3
.默认
.判断结束
.判断 (键代码 = #下光标键)
.判断开始 (方向 ≠ 3)
方向 = 4
.默认
.判断结束
.判断 (键代码 = #左光标键)
.判断开始 (方向 ≠ 2)
方向 = 1
.默认
.判断结束
.判断 (键代码 = #右光标键)
.判断开始 (方向 ≠ 1)
方向 = 2
.默认
.判断结束
.默认
.判断结束
|
|