《历史飞行棋》移动控制上采用了纯AS运算移动,另外本游戏采用了双筛子和随机地图,所以需要进行电脑选择筛子的判断,这里选择最优化的筛子进行移动就是电脑AI的所在. 5.控制棋子移动 使用了setInterval来控制时间,这里将每个title按顺序命名:t1,t2...... 参数_who表示要移动的mc,如:c1,c2,c3,_step表示要移动的步数,该函数支持步数为负,即退.
function movecast(_who, _step) { trace("事件:移动"+_step); flashcast(_who, false); var dpos = _who.pos+_step; var dr = true; if (_step<0) { dr = false; } clearInterval(moveid); moveid = setInterval(function () { if (dr) { if (_who.pos<dpos) { if (_who.pos<=titleMaxnum) { _who.pos += 1; if (_who.pos == titleMaxnum+1) { _who._x = _who.x00; _who._y = _who.y00; //执行后退 if (_who.pos-dpos<>0) { movecast(_who, _who.pos-dpos); } else { _who.overflag = true; trace("事件:"+_who+"胜利!"); } } else { _who._x = eval("t"+_who.pos)._x+18; _who._y = eval("t"+_who.pos)._y+11; } } } else { exeevent(_who); clearInterval(moveid); } } else { if (_who.pos>dpos) { _who.pos -= 1; _who._x = eval("t"+_who.pos)._x+18; _who._y = eval("t"+_who.pos)._y+11; } else { exeevent(_who); clearInterval(moveid); } } }, 500); }
上一篇:多语言FlashMX2004安装方法
下一篇:创建补间形状
|