Wpis z mikrobloga

Cześć, od dłuższego czasu cisnę sobie kurs #100daysofcode idzie mi całkiem nieźle, tylko przy dniu nr 23 mam pewien problem. Zrobiłem projekt na najtrudniejszym poziomie, czyli bez pomocy prowadzącej, wszystko mi działa, poza jednym. Za cholerę nie mogę zwiększyć przyspieszenia pojazdów na stałe i nie mam pojęcia dlaczego. Może któryś z Mireczków jest mi w stanie pomóc?

Dokładne polecenie jest takie, że za każdym razem kiedy żółw przekroczy górny ekran i wróci do pozycji startowej, to prędkość obiektów ma się zwiększyć.

Wrzuciłem projekt na githuba (robiłem to pierwszy raz, mam nadzieję, że dobrze).
https://github.com/dmidam/turtle_crossing.git

W klasie "car_manager" może być trochę namieszane, bo już próbowałem zmian na wiele sposobów.
Prowadząca pokazuje jak to zrobić, ale jako, że ona zrobiła trochę inaczej niż ja, to jej rozwiązanie nie działa. A nie chcę kopiować jej całego kodu.

Dodatkowo widziałem, że @Poli_Monoteista pisał, że nie ma czasu wrzucać podsumowań, jeśli są chętni, to mogę wrzucać swoje codzienne zmagania.

#naukaprogramowania #python
  • 19
@empty11: Według mnie tak. Przerabiałem wcześniej darmowe kursy i uważam to za stracony czas. Ten kurs jest tak dobrze zrobiony (moim zdaniem), że naprawdę warto. Największą zaletą są ćwiczenia, każda lekcja to jakieś zadanie do wykonania a nie tylko czysta teoria, która wpada jednym uchem a wypada drugim.
@Hark: Co 6 tur (ramek) tworzysz nowego CarManagera (myląca nazwa, czemu nie nazwać go po prostu Car?) i potem na jego rzecz wywołujesz acceleration(), co zwiększa tylko prędkość ostatnio utworzonego samochodu (do niego referencja jest w zmiennej car_manager w mainie).
@Hark: IMO przekombinowałeś z przypisywaniem prędkości do danego samochodu, kiedy wszystkie powinny poruszać się z tą samą prędkością. Gdybyś cały czas używał tych samych samochodów, to mógłbyś zwiększyć ich prędkość i zapomnieć o tym ile razy gracz przeszedł przez drogę, ale cały czas tworzysz nowe, więc ich prędkość powinna wynosić prędkość początkowa * ilość przejść gracza przez drogę. Nawiasem mówiąc to nigdy nie niszczysz obiektów CarManager i w efekcie masz wyciek
@Calka_internowana: carmanager to nazwa zasugerowana przez prowadzącą.
Właśnie nie mogę przejść tego żeby nie zwiększać prędkości ostatnio utworzonego samochodu, lecz żeby zmienić prędkość wszystkich nowo utworzonych obiektów. Co bym nie zrobił to mi nie wychodzi ¯\
(ツ)_/¯

Prowadząca sprytnie to zrobiła, bo w metodzie _init_ zawarła listę do której potem dodawał nowe obiekty. Ja się uparłem, że mój sposób musi zostać.

Słuszna uwaga z tym wyciekiem pamięci, dzięki.
@Hark: Kurde zastanawiam się... Bo jednak jest różnica między 50 zł, a 300 zł. A czy kursy na udemy można odkupić od kogoś jak to działa? Dostajesz access na zawsze czy na jakiś określony czas?
@Hark: Więc sytuacja jest dosyć prosta. W przykładzie prowadzącej, CarManager agreguje obiekty samochodów w liście, jego odpowiedzialnością jest przechować listę samochodów i modyfikować je. U ciebie CarManager reprezentuje tak naprawdę jeden samochód, dlatego zasugerowałem nazwę Car. Agregacji tych obiektów dokonuje skrypt main.py i na jego głowie też powinno być przyspieszenie ich. Możesz na przykład zdefiniować zmienną speed w main.py, która będzie się zwiększać co przejście przez drogę i przy użyciu tej
@empty11: damn, u mnie cena standardowa :< jak mam zaserduszkowane dostaną notyfikację jak spadnie? Chętnie bym wziął na Udemy mimo wszystko żeby mieć w 1 miejscu :D
@empty11: faktycznie, spada, ale po przelogowaniu wraca do pełnej kwoty.
Posłuchałem rady z reddita - z konta na 10minutemail gdzie miałem zniżkę kupiłem na swoje konto jako gift, pozdrawiam i poletzam