出手顺序: 1. 对玩家速度进行从大到小的列表排序。 2. 定义本次战斗的回合速度常数为速度最快的玩家的速度。 3. 对每一位玩家分别定义回合速度参数,初始为0。 4. 回合开始: 5. 首先每位玩家的回合速度变为当前回合速度加上自身的速度 6. 然后用每位玩家的回合速度除以回合速度常数,进行整除计算,若商等于1,则回合速度变为当前回合速度减去回合速度常数且该玩家加入行动列表,若商等于0,这回合不行动即不需要进行后续处理。 7. 在行动列表中对每位玩家的回合速度从大到小排序,若回合速度相等则参照玩家速度,若玩家也速度相等则二者或多者随机排序。 8. 按照行动合集中回合速度排序出手 9. 战斗计算 10. 回合结束 11. 返回第4步循环 演示 A.Speed = 50,B.Speed = 25 1. 排序:List_Speed = [A, B] 2. 回合速度常数为50, Speed_Turn = 50 3. 回合速度, A.Speed_Turn, B.Speed_Turn = 0 4. 第一回合: 5. 回合速度,A.Speed_Turn = 0 + 50 = 50, B.Speed_Turn = 0 + 25 = 25 6. 判定: A.Speed_Turn/Speed_Turn = 50/50 = 1, 则A.Speed_Turn = 50 - 50 = 0且A加入List_Act B.Speed_Turn/Speed_Turn = 25/50 = 0, 则不操作 7. 行动列表中对每位玩家的回合速度从大到小排序, List_Act = [A] 8. A行动 9. 战斗计算 10. 回合结束 11. 第二回合: 12. 回合速度,A.Speed_Turn = 0 + 50 = 50, B.Speed_Turn = 25 + 25 = 50 13. 判定: A.Speed_Turn/Speed_Turn = 50/50 = 1, 则A.Speed_Turn = 50 - 50 = 0且A加入List_Act B.Speed_Turn/Speed_Turn = 50/50 = 1, 则B.Speed_Turn = 50 - 50 = 0且B加入List_Act 14. 行动列表中对每位玩家的回合速度从大到小排序, 此时A.Speed_Turn = B.Speed_Turn,按照List_Speed的排序,应该A在前,List_Act = [A,B] 15. A行动,然后B行动 16. 战斗计算 17. 回合结束 ....
1

相关推荐

12-20 11:26
复旦大学 Java
点赞 评论 收藏
分享
专业嗎喽:个人信息名字太大,合到电话邮箱那一栏就行,有党员写过党,剩下其他全删,站空太大了 把实习经历丰富,放最前面,然后是个人评价,技能之类的,然后是学校信息。项目经历最后面,可以就选一个自己擅长的。 现在是学校不是92就扣分的,没必要放前面。 然后现在看重实习经历>竞赛经历(校园经历)>课程项目经历
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务