Ячейка в сетке игры «Змея» всегда поднимается в верхнюю часть экрана.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ячейка в сетке игры «Змея» всегда поднимается в верхнюю часть экрана.

Сообщение Anonymous »


На уроке информатики мне поручили написать мод для базовой программы игры со змеями. Я решил добавить функцию, при которой, когда пользователь нажимает кнопку ПРОБЕЛ, он будет открывать портал в зависимости от того, в каком режиме находится пользователь (аналогично игровому порталу). Чтобы начать с основ, я решил начать с метода съемки и хотел, чтобы он был анимирован.

Мне удалось заставить работать синий портал/портал входа, но когда я попытался реализовать те же методы для оранжевого портала/выхода, он просто автоматически переместился в верхнюю часть экрана.

Я пытался изменить переменные с локальных на глобальные, используя дополнительные функции вместо того, чтобы просто делать это в одной, снова и снова бился головой о стену, но ничего не получалось. Что я делаю не так
Код Словарь для порталов ENTERP = 0 ВЫХОД = 1 порталПос = [ # Первый дикт — это входной портал, а второй — выходной портал. {"x": random.randint(0, 31), "y": random.randint(0, 23), "dir": ""}, {"x": random.randint(0, 31), "y": random.randint(0, 23), "dir": ""} ] Ключевые проверки для события в pygame.event.get(): # если event.type == ВЫХОД: завершить() elif event.type == KEYDOWN: if (event.key == K_LEFT или event.key == K_a) и направление != RIGHT: направление = ВЛЕВО elif (event.key == K_RIGHT или event.key == K_d) и направление != ВЛЕВО: направление = ВПРАВО elif (event.key == K_UP или event.key == K_w) и направление != ВНИЗ: направление = ВВЕРХ elif (event.key == K_DOWN или event.key == K_s) и направление != ВВЕРХ: направление = ВНИЗ elif event.key == K_p: печать (exitPortAniCount) elif event.key == K_SPACE: если порталGunMode == "ent": portalPos[ENTERP]["dir"] = направление порталПос[ENTERP]['x'] = wormCoords[HEAD]['x'] порталПос[ENTERP]['y'] = wormCoords[HEAD]['y'] enterPortAniCount = ПРАНЖЕ если порталGunMode == "ext": portalPos[EXITP]["dir"] = направление порталПос[EXITP]['x'] = wormCoords[HEAD]['x'] portPos[EXITP]['y'] = wormCoords[HEAD]['y'] выходPortAniCount = ПРАНГЕ elif event.key == K_ESCAPE: завершить() Проверки привязки к порталу def checkPortalBounds(): если порталПос[ENTERP]['x'] >= 31: порталПос[ENTERP]['x'] = 31 elifportalPos[ENTERP]['x'] = 23: порталПос[ENTERP]['y'] = 23 elifportalPos[ENTERP]['y'] = 31: порталПос[EXITP]['x'] = 31 elifportalPos[EXITP]['x'] = 23: порталПос[EXITP]['y'] = 23 elifportalPos[EXITP]['y'] >= 0: порталПос[EXITP]['y'] = 0 Обновить анимацию портала def updatePortalAnims(): глобальный EnterPortAniCount, выходPortAniCount для меня в диапазоне (PRANGE): если не enterPortAniCount
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»