Есть алгоритм расчета очередности хода как в Heroes III. Алгоритм прекрасно работает, но мне не нравиться цикл в этой программе, так как в дальнейшем, например при накладывании заклинания “скорость”, мне придется сортировать список вновь, список будет уменьшаться по мере ходов юнитов игрока и с циклом это как-то не вяжется. Подкиньте идею. Знаю, вы можете направить в нужное русло даже такого вредного программиста как я. Спасибо!
# если a[0] выше всех, то юнит ходит раньше всех независимо от очередности # хода героя # чем выше a[1] тем раньше ходит герой # чем выше a[2] тем раньше ходит его юнит # юниты нападающего героя [скорость,очередность героя, очередность юнита] a = [6,1,2] b = [7,1,1] c = [6,1,0] # юниты защищающегося героя d = [6,0,2] e = [7,0,1] f = [8,0,0] mas = [a,b,c,d,e,f] mas.sort(reverse = True) print(mas) for i in mas: if i[1] == 0: hero = "second" elif i[1] == 1: hero = "first" if i[2] == 0: unit = "third" elif i[2] == 1: unit = "second" elif i[2] == 2: unit = "first" print("walks ",hero," hero ",unit," unit ",i[0]," speed")