做了个LZ飞行棋的全脱机外挂,熬了一夜,终于基本上没问题了。
特殊情况汇总如下:
1、普通路径下撞上1架飞机,被撞飞机回停机坪;
2、普通路径下撞上2架飞机,三架飞机一起回停机坪;
3、普通路径下撞上3架以上飞机,撞者和被撞的最上面2架飞机共3架飞机回停机坪,被撞者剩余1架;
4、飞跃路径上可能会撞到对面玩家快要到HOME的飞机,而且可能有2架叠在飞跃路径的中间;
5、飞跃路径中间有1架,飞过之后又有1架,这种情况撞者继续,被撞的2架飞机回停机坪;
LZ的飞行棋做的还可以,4个玩家看到的是同一张飞行棋地图,地图上的每个点坐标对每个玩家来说都是一样的,这样就比较容易处理界面和业务逻辑。
算法上,要保证其中1家全赢,我采取的是计算每架飞机的下一步权重;
对于赢家:
将要飞行的路线上能撞到其他玩家飞机,则加分;
能到HOME,则权重最高;
能起飞,则次之;
对于输家:
将要飞行的路线上要碰到赢家,则减分至较低;
能起飞,则起飞;
将要到HOME的飞机减分;
能撞到其他输家,则加分;
根据权重选择每次掷骰子后的飞机架次,最大程度保证赢家能赢。
阅读(4397) | 评论(4) | 转发(0) |