Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from math import sqrt
- class Hero:
- coordinate = []
- def step_forward(self):
- self.coordinate[0] = self.coordinate[0] + 1
- return self.coordinate
- hero = Hero()
- enemy_hero = Hero()
- hero.coordinate = [0, 0]
- enemy_hero.coordinate = [20, 0]
- while True:
- distance = sqrt( (enemy_hero.coordinate[0] - hero.coordinate[0])**2 + (enemy_hero.coordinate[1] - hero.coordinate[1])**2)
- hero.coordinate = hero.step_forward
- Traceback (most recent call last):
- File "<stdin>", line 21, in <module>
- distance = sqrt( (enemy_hero.coordinate[0] - hero.coordinate[0])**2 + (enemy_hero.coordinate[1] - hero.coordinate[1])**2)
- TypeError: 'method' object is not subscriptable
- hero.coordinate = hero.step_forward
- hero.coordinate = hero.step_forward()
- class Hero:
- def __init__(self, coordinate)
- # Если вы будете использовать один и тот же список с координатами для разных объектов, лучше при инициализации делать копию списка с помощью list
- self.coordinate = list(coordinate)
- def step_forward(self):
- self.coordinate[0] = self.coordinate[0] + 1
- hero = Hero([0, 0])
- enemy_hero = Hero([20, 0])
- while True:
- distance = sqrt( (enemy_hero.coordinate[0] - hero.coordinate[0])**2 + (enemy_hero.coordinate[1] - hero.coordinate[1])**2)
- hero.step_forward()
- class Hero:
- def __init__(self, coordinate)
- self.coordinate = list(coordinate)
- def step_forward(self):
- self.coordinate[0] = self.coordinate[0] + 1
- def distance(self, other):
- return sqrt( (other.coordinate[0] - self.coordinate[0])**2 + (other.coordinate[1] - self.coordinate[1])**2)
- while True:
- distance = hero.distance(enemy_hero)
- hero.step_forward()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement