Bruno-Dzk / pygame-pong

Pygame project for uni Python course
0 stars 0 forks source link

Uwagi #1

Open MarcinCiura opened 4 years ago

MarcinCiura commented 4 years ago

Może Pan zrobić Ponga sterowanego przez dwóch graczy klawiaturą. Ocena — z racji prymitywności gry i niesystematycznej pracy — będzie niższa, ale zaliczająca. Pierwszy termin egzaminu to 26 czerwca, więc ma Pan zas do 25 czerwca.

  1. Dodać requirements.txt (1. rozdział Poradnika).
  2. Pylint (2. rozdział) wykryje np. nieużywane importy.
  3. Zbędne nawiasy tu i gdzie indziej.
  4. Te pseudooptymalizacje powyrzucać. Z racji tego, że Pańska gra jest w Pythonie, a nie np. w C++, one tylko spowalniają sprawdzanie kolizji. Najprościej użyć math.hypot().
  5. Tu wolałbym jedną zewnętrzną pętlę po ścianach, a w niej dwie wewnętrzne po postaciach i pociskach.
  6. Nie importować drobnicy (2. roozdział); importy posortować (2. rozdział).
  7. TestCircle i TestRect przemianować na MockCircle i MockRectangle.
  8. Dodać więcej testów, w tym testy negatywne do collided.... Nadto range(-1, 1) jest równoważne z [-1, 0]. Zapewne chodziło Panu o range(-1, 2).
  9. Importy zupełnie przerobić (2. rozdział).
  10. Tu użyć 4-elementowej listy, a magiczne napisy zastąpić przez stałe UP, ..., RIGHT = range(4) (2. rozdział).
  11. Importy do przerobienia.
  12. Kolory źle nazwane (2. rozdzialł) i smutne (3. rozdział).
  13. Nie używać skrótów (2. rozdział): rect -ify? -ion? -um?.

Po poprawieniu powyższego proszę odpowiadać w tym wątku, nie mailowo.

Bruno-Dzk commented 4 years ago

Szanowny Panie Doktorze, Przepraszam, z rozpędu wysłałem jeszcze do Pana maila (myślałem że chodzi o wątek mailowy). Wprowadziłem poprawki, które Pan zasugerował.

MarcinCiura commented 4 years ago

Jest OK. Jeszcze poniższe uwagi i zaliczę Pana projekt.

  1. Czy tu nie powinno być SCREEN_WIDTH - ball.radius? Wydaje mi się niespójne z kolejnym warunkiem.
  2. Po co 0 +?
  3. pygame.init() chyba to załatwia.
Bruno-Dzk commented 4 years ago

Wprowadziłem korekty:

  1. Zostawiłem niezmienione, chodziło mi o moment kiedy cała piłka wykracza za pole gry.
  2. Poprawiłem drugi warunek na ball.position.x < - ball.radius aby był spójny z pierwszym.
  3. Usunąłem nadmiarowe pygame.font.init().

Dziękuję Panu bardzo za code review.

MarcinCiura commented 4 years ago

LGTM