|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
||||||||||||||||
Путанница и ошибки в самописной игре на питоне14.05.2023, 22:24. Показов 1130. Ответов 3
Метки help me please, python, python 3.10, python для начинающих, питон, помощь python, рефакторинг (Все метки)
Добрый вечер, уважаемые форумчане!
Решил создать игру на питоне(работа на автомат в универе), но возникли некоторые баги и непонятности, с которыми не знаю как бороться. Примерно 2 недели сидел сам, перерабатывал и разбирался, что-то получилось исправить, а что-то нет. И вот я здесь. Не судите строго, на питоне до этого кроме задачек по типу решения квадратных уравнения или чего-то сложнее простейших графиков не писал (Основные языки - Си и С++). Рад буду любому материалу и информации по теме. Литература и гайды на ютубе будут очень полезны. Для начала общая концепция игры и что должно было быть: 2d игра, вид сверху. Квадратная карта с размерами 800x800px, 2 точки спавна (одна для юзера и одна для нейро-юзера(пользователь за которого играет самописная нейронная сеть и которая учится на ходах юзера, которым управляет человек)) и одна точка выхода. Нейро-юзер должен уметь ходить по карте и ловить пользователя. Если нейронка поймала пользователя, у него отнимается одна жизнь и игра начинается сначала. Сам же пользователь может кидать мячики в нейронку, тем самым затормаживая её. Если пользователь дошел до выхода из карты, то он выиграл. Cкрин того, что есть на данный момент, находится в самом конце сообщения. Зеленый квадрат - спавн пользователя, синий - спавн нейронки, белый - выход, красные - ловушки. Ниже предоставляю весь код 3-х модулей, которые написаны на данный момент, а также ниже каждого модуля напишу проблемы, которые там выявил и которые не знаю как исправить. модуль map.py (Создает карту и инициализирует её) Кликните здесь для просмотра всего текста
Проблемы: константа COMPLEXITY по факту выражает не сложность, а легкость игры, то есть на значении 1 на карте вообще нет стен, также имеется достаточно много констант, которые дублируются не только в этом модуле и которые по хорошему надо бы вынести в отдельный файл const.py. Я это обязательно сделаю, но как-нибудь потом (возможно никогда).Остальное написано коряво, но работает вроде как правильно. Модуль player.py (Нужен для создания, инициализации и отрисовки игрока в виде шестиугольника (это временно, пока нет текстуры)) Кликните здесь для просмотра всего текста
Проблемы: Player не ходит. Абсолютно отказывается ходить при нажатии w a s d. Подозреваю, что тут не только в модуле player, но в основном видимо в нем. Последний модуль map_rendering.py (Изначально придумывался для того, чтобы тихо и спокойно рисовать карту и никого не трогать, но по факту кроме всего этого он еще является и main всей игры, а также свалкой, в которую импортируются все остальные модули.) Кликните здесь для просмотра всего текста
Проблемы: Можно было бы написать, что весь модуль - это одна сплошная проблема. Но в основном грешу на функцию test_map_rendering, которая изначально рисовала только красивую карту, но потом обрела игровой цикл и получилось то, что получилось. Больше всего грешу именно на этот модуль, ибо по идее его надо разнести на несколько. Как минимум вычленить из него часть main в отдельный модуль, а также убрать test_map_rendering. Также мне кажется, что причина того, почему Player не перемещается по карте именно в игровом цикле в фунции test_map_rendering. В качестве общей проблемы уже наблюдаю не очень хорошую архитектуру проекта. У меня нет класса Map, хотя по идее он должен быть. Ну а про модули, которые будут создавать нейронку и обучать ее, а также давать пользователю полоску здоровья и возможность пуляться кружочками в нейронку я уж и не говорю. Пока застрял на передвижении пользователя. Я буду крайне благодарен любой информации по теме, а также дельной критике и советам по исправлению. И особенно ревью кода, но только с пояснениями, ибо главная цель - разобраться, а не сдать работу(ибо на гитхабе полно работ, которые можно было бы сдать за свои. Это не тот случай.). Спасибо, что дочитали до конца. ![]() Сама же игра выглядит вот так:
1
|
||||||||||||||||
| 14.05.2023, 22:24 | |
|
Ответы с готовыми решениями:
3
Нужно сделать меню и рестарт после смерти в простенькой игре на питоне Ошибки в проекте с голосовым управлением на Питоне Ошибки кодировок в Питоне при чтении файлов |
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
| 15.05.2023, 00:52 [ТС] | |
|
Уважаемые форумчане, очень прошу помощи. Сам не знаю уже как подступиться к проблеме. Мне нужно хотя бы мало мальски понять что не так и я найду способ это исправить
0
|
|
|
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
|
|||||||
| 15.05.2023, 21:17 | |||||||
0
|
|||||||
|
1 / 1 / 0
Регистрация: 19.03.2022
Сообщений: 99
|
|
| 21.05.2023, 03:43 [ТС] | |
|
Спасибо, честно говоря, не особо помогло. Решение принципиально другое. Я уже пофиксил эту вещь. Оказывается, что с проверками перемудрил и не ту координату передавал
0
|
|
| 21.05.2023, 03:43 | |
|
Помогаю со студенческими работами здесь
4
Путанница ValueError. Линейная регрессия и нахождение среднеквадратичной ошибки на питоне ARP путанница Путанница с кодировками Тайные знаки и путанница ссылок с указателями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|