Closed artur24814 closed 11 months ago
srednio rozumiem czym sa te horse.points. horse_group z tego co widze to lista wszystkich koni z bazy danych (id, name, start_poz)
def recalculate_start_pos(cursor, horse_group):
# TODO: dla każdego konia prelicz nową wartość `start_pos` i zapisz (użyj horse.save(cursor) dla konia z nową wartością `start_pos`)
# Posortuj liste po horse.points
# dla konia z największym znaczenia `points` dodaj 1 do `start_pos`
# dla konia na pozycji No 2 dodaj 0.5
# dla konia na pozycji No 3 dodaj 0
# dla konia na pozycji No 4 dodaj -0.5
pass
złe nazwałem to, ale points to co dodawane do początkowego pos_ x
to znaczy gdzie on się znajduje po osi x
To znaczy im więcej znaczenia points
im bliżej finish
Tutaj jest obliczane:
def increase_points(self, points):
"""Add some value for x coordinate"""
self.points += points
return self.points
def get_value(self):
"""
Combine current position in x coordinate with random value 'shape' (It will be the same throughout the entire race)
and with randomly chosen number from :self.random_events: and combine with horse's 'start_pos'
"""
result = self.pos_x + self.shape + random.choice(self.random_events) + self.start_pos
result = self.increase_points(result)
return result`
na końcu zabiega te points
zostają wyzerowane i koń na osi x jest wystawiany na początek
ale przed tym trzeba obliczyć kto jak daleko jest na osi x i odpowiednio do tego pododawać do ich start_pos
I horse_group to lista z obiektami i horse.points to atrybut obiektu
Sorry, za to że to lista z obiektami ja powinien był napisać
Wypełnij funkcję
recalculate_start_pos
Opis znajdziesz w kodzie