Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. from math import sqrt
  2.  
  3. class Hero:
  4.  
  5. coordinate = []
  6.  
  7. def step_forward(self):
  8. self.coordinate[0] = self.coordinate[0] + 1
  9. return self.coordinate
  10.  
  11. hero = Hero()
  12.  
  13. enemy_hero = Hero()
  14.  
  15. hero.coordinate = [0, 0]
  16.  
  17. enemy_hero.coordinate = [20, 0]
  18.  
  19. while True:
  20.  
  21. distance = sqrt( (enemy_hero.coordinate[0] - hero.coordinate[0])**2 + (enemy_hero.coordinate[1] - hero.coordinate[1])**2)
  22.  
  23. hero.coordinate = hero.step_forward
  24.  
  25. Traceback (most recent call last):
  26. File "<stdin>", line 21, in <module>
  27. distance = sqrt( (enemy_hero.coordinate[0] - hero.coordinate[0])**2 + (enemy_hero.coordinate[1] - hero.coordinate[1])**2)
  28. TypeError: 'method' object is not subscriptable
  29.  
  30. hero.coordinate = hero.step_forward
  31.  
  32. hero.coordinate = hero.step_forward()
  33.  
  34. class Hero:
  35. def __init__(self, coordinate)
  36. # Если вы будете использовать один и тот же список с координатами для разных объектов, лучше при инициализации делать копию списка с помощью list
  37. self.coordinate = list(coordinate)
  38.  
  39. def step_forward(self):
  40. self.coordinate[0] = self.coordinate[0] + 1
  41.  
  42. hero = Hero([0, 0])
  43.  
  44. enemy_hero = Hero([20, 0])
  45.  
  46. while True:
  47.  
  48. distance = sqrt( (enemy_hero.coordinate[0] - hero.coordinate[0])**2 + (enemy_hero.coordinate[1] - hero.coordinate[1])**2)
  49.  
  50. hero.step_forward()
  51.  
  52. class Hero:
  53. def __init__(self, coordinate)
  54. self.coordinate = list(coordinate)
  55.  
  56. def step_forward(self):
  57. self.coordinate[0] = self.coordinate[0] + 1
  58.  
  59. def distance(self, other):
  60. return sqrt( (other.coordinate[0] - self.coordinate[0])**2 + (other.coordinate[1] - self.coordinate[1])**2)
  61.  
  62. while True:
  63. distance = hero.distance(enemy_hero)
  64. hero.step_forward()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement