Advertisement
gandalfbialy

Untitled

Apr 26th, 2025
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.21 KB | None | 0 0
  1. life = ctrl.Antecedent(x_life, 'Zycie gracza')
  2. distance = ctrl.Antecedent(x_dist, 'Odleglosc')
  3. attack = ctrl.Consequent(x_attack, 'Poziom ataku')
  4.  
  5. life['Niskie'] = fuzz.trimf(life.universe, [0, 0, 40])
  6. life['Srednie'] = fuzz.trimf(life.universe, [30, 50, 70])
  7. life['Wysokie'] = fuzz.trimf(life.universe, [60, 100, 100])
  8.  
  9. distance['Mala'] = fuzz.trimf(distance.universe, [0, 0, 15])
  10. distance['Duza'] = fuzz.trimf(distance.universe, [10, 50, 50])
  11.  
  12. attack['Brak'] = fuzz.trimf(attack.universe, [0, 0, 30])
  13. attack['Ostrozny'] = fuzz.trimf(attack.universe, [50, 70, 90])
  14. attack['Zdecydowany'] = fuzz.trimf(attack.universe, [80, 100, 100])
  15.  
  16. rule1 = ctrl.Rule(life['Niskie'], attack['Zdecydowany'])
  17. rule2 = ctrl.Rule(life['Srednie'] & distance['Duza'], attack['Ostrozny'])
  18. rule3 = ctrl.Rule(life['Srednie'] & distance['Mala'], attack['Ostrozny'])
  19. rule4 = ctrl.Rule(life['Wysokie'] & distance['Mala'], attack['Brak'])
  20.  
  21. attack_ctrl = ctrl.ControlSystem([rule1, rule2, rule3, rule4])
  22. attack_sim = ctrl.ControlSystemSimulation(attack_ctrl)
  23.  
  24. attack_sim.input['Zycie gracza'] = 35
  25. attack_sim.input['Odleglosc'] = 20
  26.  
  27. attack_sim.compute()
  28.  
  29. print("Poziom ataku:", attack_sim.output['Poziom ataku'])
  30. attack.view(sim=attack_sim)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement