Я играл с написанием нескольких простых карточных игр на Python для развлечения, и я хотел бы добавить в игры графический интерфейс пользователя (GUI). Какую библиотеку вы бы порекомендовали для написания графического интерфейса для простой карточной игры?
wxPython или pygame для простой карточной игры?
Ответы (6)
Если все, что вам нужно, это графический интерфейс, wxPython должен помочь.
Если вы хотите добавить звук, ввод с контроллера и выйти за рамки простой карточной игры, вы можете использовать pygame.
Я не использовал wxPython, но Pygame сам по себе довольно низкоуровневый. Он позволяет вам перехватывать нажатия клавиш, события мыши и рисовать элементы на экране, но не предлагает никаких готовых элементов управления графическим интерфейсом. Если вы используете Pygame, вам придется либо написать свои собственные классы GUI, либо использовать существующие расширения GUI для Pygame, например Pygame Utilities Фила.
Как правило, PyGame — лучший вариант для кодирования игр. Но это для более распространенных игр, где объекты движутся по экрану, и у вас должна быть хорошая производительность с «частотой кадров».
Однако для чего-то вроде карточной игры я бы выбрал wxPython (или, скорее, PyQt). Это связано с тем, что в карточной игре не так много графики (рисовать 2D-фигуры карт на экране в wx/PyQt не сложнее, чем в PyGame). А с другой стороны, вы получаете массу преимуществ от wx — вроде готового GUI для взаимодействия.
В Pygame вам нужно создать графический интерфейс самостоятельно или использовать несколько недоработанных библиотек, которые сделают это за вас. Это на самом деле имеет смысл для Pygame, потому что, когда вы создаете игру, вам обычно нужен собственный графический интерфейс, который соответствует стилю игры. Но для карточных игр, скорее всего, стандартные виджеты графического интерфейса wx сделают свое дело и сэкономят вам часы кодирования.
Ответы на этот связанный вопрос могут быть очень полезны для вас:
Что может сделать Pygame с точки зрения графики, которую wxPython нельзя?
Я бы сказал, pygame - я слышал, что это очень весело, легко и весело. Кроме того, весь мой опыт работы с wxPython был печальным и болезненным.
Но я не предвзят или что-то в этом роде.
pygame — типичный выбор, но pyglet привлек много внимания на PyCon. Вот вики-запись об игровых библиотеках Python: http://wiki.python.org/moin/PythonGameLibraries а>