def update(self):
self.rect.y -= 3
Это часть кода, которая управляет функцией, о которой вы спрашивали (куда движется мяч), но я думаю, вы знаете об этом, потому что написали ее.
будут появляться сообщения об ошибках, и если я попытаюсь их отредактировать, появится еще больше сообщений об ошибках, и я действительно не знаю, почему.
Ну, это программирование для вас. Продолжай их чинить.
Я настоятельно рекомендую установить линтер, кстати. Запуск pylint
в вашем коде дает мне все это, что похоже на обратную связь, которую вы просите нас:
$ pylint --errors-only your-game.py
************* Module game
your-game.py:8:0: E1101: Module 'pygame' has no 'init' member (no-member)
your-game.py:30:21: E1121: Too many positional arguments for lambda call (too-many-function-args)
your-game.py:45:21: E1121: Too many positional arguments for lambda call (too-many-function-args)
your-game.py:93:21: E1121: Too many positional arguments for lambda call (too-many-function-args)
your-game.py:130:21: E1121: Too many positional arguments for lambda call (too-many-function-args)
your-game.py:299:25: E1101: Module 'pygame' has no 'QUIT' member (no-member)
your-game.py:301:25: E1101: Module 'pygame' has no 'MOUSEBUTTONDOWN' member (no-member)
your-game.py:336:25: E1101: Module 'pygame' has no 'QUIT' member (no-member)
your-game.py:339:27: E1101: Module 'pygame' has no 'KEYDOWN' member (no-member)
your-game.py:340:28: E1101: Module 'pygame' has no 'K_LEFT' member (no-member)
your-game.py:342:30: E1101: Module 'pygame' has no 'K_RIGHT' member (no-member)
your-game.py:344:30: E1101: Module 'pygame' has no 'K_UP' member (no-member)
your-game.py:346:30: E1101: Module 'pygame' has no 'K_DOWN' member (no-member)
your-game.py:349:27: E1101: Module 'pygame' has no 'KEYUP' member (no-member)
your-game.py:350:28: E1101: Module 'pygame' has no 'K_LEFT' member (no-member)
your-game.py:352:30: E1101: Module 'pygame' has no 'K_RIGHT' member (no-member)
your-game.py:354:30: E1101: Module 'pygame' has no 'K_UP' member (no-member)
your-game.py:356:30: E1101: Module 'pygame' has no 'K_DOWN' member (no-member)
your-game.py:359:27: E1101: Module 'pygame' has no 'MOUSEBUTTONDOWN' member (no-member)
your-game.py:376:0: E1101: Module 'pygame' has no 'quit' member (no-member)
Также поговорим об этом:
wall = Wall(0, 0, 10, 800)
wall_list.add(wall)
all_sprite_list.add(wall)
Для сотен и сотен строк. Вы можете просто запрограммировать компьютер для генерации всех этих позиций для вас. Но даже если ты не хочешь этого делать, не повторяй себя вот так.
walls = (
(0, 0, 10, 800),
(40, 40, 10, 75),
(50, 40, 190, 10),
# ...
)
for wall_coords in walls:
wall = Wall(*wall_coords)
wall_list.add(wall)
all_sprite_list.add(wall)
Это 43 строки из ваших 144, делающих одно и то же - намного легче читать и редактировать, если вы контролируете громадный объем вашего кода.