Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from ag import AlgoritmoGenetico
- personagens = [
- {'personagem': 'p1', 'ataque': 10, 'defesa': 3},
- {'personagem': 'p2', 'ataque': 2, 'defesa': 4},
- {'personagem': 'p3', 'ataque': 4, 'defesa': 8},
- {'personagem': 'p4', 'ataque': 6, 'defesa': 5},
- {'personagem': 'p5', 'ataque': 2, 'defesa': 6},
- {'personagem': 'p6', 'ataque': 7, 'defesa': 4},
- {'personagem': 'p7', 'ataque': 5, 'defesa': 5},
- {'personagem': 'p8', 'ataque': 3, 'defesa': 8},
- {'personagem': 'p9', 'ataque': 5, 'defesa': 7},
- {'personagem': 'p10', 'ataque': 12, 'defesa': 1},
- {'personagem': 'p11', 'ataque': 8, 'defesa': 5},
- {'personagem': 'p12', 'ataque': 6, 'defesa': 4},
- {'personagem': 'p13', 'ataque': 3, 'defesa': 11},
- {'personagem': 'p14', 'ataque': 4, 'defesa': 6},
- {'personagem': 'p15', 'ataque': 5, 'defesa': 8},
- ]
- #Melhores ataque
- def funFitnessA(genes, personagens):
- selecionados = 0
- totalAtaque = 0
- for i in range(len(genes)):
- if (genes[i] == 1): #Selecionado
- selecionados += 1
- totalAtaque += personagens[i]['ataque']
- if (selecionados != 3):
- return 0
- return totalAtaque
- #Melhores ataque e defesas
- advesario = 10
- def funFitnessB(genes, personagens):
- selecionados = 0
- atkGrp = 0
- defGrp = 0
- atkAdv = 13
- defAdv = 21
- for i in range(len(genes)):
- if (genes[i] == 1): #Selecionado
- selecionados += 1
- atkGrp += personagens[i]['ataque']
- defGrp += personagens[i]['defesa']
- if (selecionados != 3):
- return 0
- danoGrp = atkGrp - defAdv if atkGrp > defAdv else 0
- danoAdv = atkAdv - defGrp if atkAdv > defGrp else 0
- return danoGrp - danoAdv
- ag = AlgoritmoGenetico(personagens, 10, 900, probMutacao=100, funcaoFitness=funFitnessB)
- ag.executa()
- print(ag.melhorResultado())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement