Flash贪吃蛇游戏AS代码翻译

2019-10-08 18:23:14丽君

x = [-1, -65, 1, 65][r]*8;
// 移动蛇到一个新的X位置 (-1 = left, -65 = up, 1 = right, 65 = down)
if (m[x] == 1 or !(xR0) or !(int(x/520) % 33)) {
// 如果新的位置在蛇身上或出了边界则 GAME OVER
delete onEnterFrame;
// 退出主循环函数
t.text = "tGAME OVER!"; return;
// 输出 GAME OVER! 并退出主程序
}
with(s.createEmptyMovieClip(w, w)) {
// 放置蛇身 (第一次循环时用于放置食物)
beginFill(255<<16);
// 首先将食物设为红色
if (w ) // blue snake color the other times
beginFill(0x555588);
_x = xR0; _y = int(x/520)*8;
// 设置蛇身的位置
lineTo(-7, 0); lineTo(-7, -7); lineTo(0, -7); endFill();
// 绘制一个方形
}
m[x] = 1;
// 设置当前位置为"已占用"区作为蛇身
if (m[x] == 3) {
// 检查是否有食物在新的位置上
t.text = "Score: " (w-(e-=5)-2)*2;
// 延迟擦除计数器5(蛇身每次增长5), 计算并输出分数 (一个食物加10分)
do {} while (m[c = (s[0]._x = 8 random(64)*8) (s[0]._y = 8 random(32)*8)*65]);
// 寻找一个空位置放置点, 并存储该数值, 并设置食物的影片剪辑
m[c] = 2;
//设置选出的位置为为大于2的线路上
}
if (e) {
// if not food MC (s[0]) then erase last snake MC and entry in array m
c = s[e];
// 获得最后一个影片剪辑
delete m[c._x 65*c._y]; removeMovieClip(c);
// 删除数组 m 中该元素的值并删除影片剪辑
}
e ;
// 将蛇的擦除计数器加一
}
}