Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Fighter:
- def __init__(self, name, tid, attack, defence):
- self.name = name
- self.teamid = tid
- self.attack_roll = attack
- self.defence_roll = defence
- def attack(self, enemy):
- advantage = abs(self.attack_roll - enemy.defence_roll)
- if advantage > 11:
- return 0.0 if self.attack_roll < enemy.defence_roll else 1.0
- ties = 12 - advantage
- looses = int(((12 - advantage) / 2) * ((12 - advantage) - 1))
- wins = 144 - ties - looses
- if self.attack_roll < enemy.defence_roll:
- return (looses / 144) / (1 - (ties / 144))
- else:
- return (wins / 144) / (1 - (ties / 144))
- if __name__ == "__main__":
- # test code
- import numpy as np
- import matplotlib.pyplot as plt
- x = np.arange(-15, 15)
- y = np.array([])
- frisk = Fighter("Frisk", 0, 0, 0)
- for i in range(-15, 15):
- stronger_enemy = Fighter("Froggit", 1, i, 0)
- y = np.append(y, [stronger_enemy.attack(frisk)])
- plt.plot(x, y)
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement