Повторный запуск скрипта pygame / python - PullRequest
0 голосов
/ 26 мая 2020

Используя IDLE, я написал интерактивную python программу с использованием pygame и сохранил ее как файл Songboard01.py. Я использую команду запуска IDLE или клавишу f5 для запуска сценария. Пользователь сначала отвечает на оболочку IDLE, которая задает вопрос запуска, после чего все ответы - это щелчки мышью на экране pygame. В дополнение к игре, экран позволяет пользователю выбирать альтернативные варианты, такие как (1) «Выйти», (2) «Инструкции», (3) «Кредиты», (4) «Решения» и (5) «. Играй снова ». Первые три работают нормально, и игра может без проблем работать после (2) или (3). Это «Играй снова», что меня озадачило. Если пользователь пытается получить новую игру во второй раз, сообщение об ошибке заканчивается:

File "/Users/anobium/Desktop/SongBoard/Songboard01.py", строка 314, в импорте new_game Songboard01.py ModuleNotFoundError : Нет модуля с именем "Songboard01.py"; Songboard01 не является пакетом

1 Ответ

0 голосов
/ 26 мая 2020

Программа python не может импортировать себя, и использование функции import вызовет ошибку. Также не следует ставить «.py» в конце имени пакета. Я рекомендую поставить вашу основную игру l oop и поставить break, если пользователь выберет (1), (2), (3) или (4). Поставьте continue, если пользователь выберет (5). Ваша игра go вернется к началу, если пользователь выберет (5).

Пример кода:

#do your imports
import pygame #and all other needed modules

#Make classes or setup the game

while True:
    #Do all of the game stuff

    #Ok now make the buttons

    #if button = 1 or 2 or 3 or 4:
        break
    #else if button = 5:
        continue

...