Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- life = ctrl.Antecedent(x_life, 'Zycie gracza')
- distance = ctrl.Antecedent(x_dist, 'Odleglosc')
- attack = ctrl.Consequent(x_attack, 'Poziom ataku')
- life['Niskie'] = fuzz.trimf(life.universe, [0, 0, 40])
- life['Srednie'] = fuzz.trimf(life.universe, [30, 50, 70])
- life['Wysokie'] = fuzz.trimf(life.universe, [60, 100, 100])
- distance['Mala'] = fuzz.trimf(distance.universe, [0, 0, 15])
- distance['Duza'] = fuzz.trimf(distance.universe, [10, 50, 50])
- attack['Brak'] = fuzz.trimf(attack.universe, [0, 0, 30])
- attack['Ostrozny'] = fuzz.trimf(attack.universe, [50, 70, 90])
- attack['Zdecydowany'] = fuzz.trimf(attack.universe, [80, 100, 100])
- rule1 = ctrl.Rule(life['Niskie'], attack['Zdecydowany'])
- rule2 = ctrl.Rule(life['Srednie'] & distance['Duza'], attack['Ostrozny'])
- rule3 = ctrl.Rule(life['Srednie'] & distance['Mala'], attack['Ostrozny'])
- rule4 = ctrl.Rule(life['Wysokie'] & distance['Mala'], attack['Brak'])
- attack_ctrl = ctrl.ControlSystem([rule1, rule2, rule3, rule4])
- attack_sim = ctrl.ControlSystemSimulation(attack_ctrl)
- attack_sim.input['Zycie gracza'] = 35
- attack_sim.input['Odleglosc'] = 20
- attack_sim.compute()
- print("Poziom ataku:", attack_sim.output['Poziom ataku'])
- attack.view(sim=attack_sim)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement