PyMonopoly

Пожалуй, пришло время представить на суд общественности свою разработку: игру "Монополия". Посмотреть описание и скриншоты можно на странице проекта в GitHub.

На данный момент приложение имеет номер версии 0.5.1-dev, это связано с тем, что сам игровой процесс (передача ходов, сами ходы, логика ИИ, обмены и проч.) полностью еще не реализован. Написано это добро на python2.7 + pygame. Для запуска необходимо установить пакет python2-pygame.
Очень заинтересован в здравой критике, предложениях и пожеланиях. Для тех, кто хочет просто установить и посмотреть на текущее положение дел, создан пакет в AUR: pymonopoly-git. Если у кого-то появится желание присоединиться к разработке, буду только рад.

З.Ы. Для разблокировки небольшой плюшки в файле settings/settings замените в последней строке единицу на ноль.
З.З.Ы. Окно программы имеет разрешение 1200*728 и не меняется
GitHub, ArchWiki, AUR
Очень круто выглядит
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
Мое обычное пожелание. АУР.
А выглядит действительно круто.
Lupus pilum mutat, non mentem.
AUR будет, когда допишем сам процесс игры и ее надо будет тестировать.
Там ничего сложного: скачал, запустил ./monopoly.py
GitHub, ArchWiki, AUR
0.4-dev: код переписан с нуля, оформление сделано еще лучше. По просьбам трудящихся сделал пакет, можете устанавливать на посмотреть

GitHub, ArchWiki, AUR
Посмотрел ). Интерфейс прикольный. А самой игры ещё нет?

p.s.: глянул исходники - ох уж этот питон с его отсутпами :-D. Кстати, тоже юзаю битбукет, последнее время он нравится мне больше гитхаба

p.p.s: после нажатия старт гейм окно просто закрывается? Так и должно быть?
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb
http://rusrailsim.org
┌─ tozen {Linux 4.2.5-1-ARCH x86_64} /home/tozen
20:35:34
└─> $ pymonopoly
Traceback (most recent call last):
  File "/usr/bin/pymonopoly", line 7, in <module>
    main_scr.mainloop()
  File "/usr/lib/pymonopoly/LIB/modules/ScreenData.py", line 104, in mainloop
    self.events(cur_key)
  File "/usr/lib/pymonopoly/LIB/modules/ScreenData.py", line 135, in events
    self.action_call(cur_key)
  File "/usr/lib/pymonopoly/LIB/modules/ScreenData.py", line 160, in action_call
    type = self.menuitems[key].action(key)
  File "/usr/lib/pymonopoly/LIB/modules/MenuItems.py", line 85, in action
    save_last_game_settings()
  File "/usr/lib/pymonopoly/LIB/modules/GlobalFuncs.py", line 133, in save_last_game_settings
    write_to_file(Globals.FILES['last_game_settings'], data)
  File "/usr/lib/pymonopoly/LIB/modules/GlobalFuncs.py", line 49, in write_to_file
    list = open(file, method)
IOError: [Errno 13] Permission denied: '/usr/lib/pymonopoly/settings/last_game_settings'
Это если без sudo.
Если запустить с повышенными привелегиями, то игра не запускается. И не вылетает.
Но!! Смотрится оооочень круто!
maisvendoo
А самой игры ещё нет?
Да у меня часто бывает такое, что пишу-пишу, а потом вдруг понимаю, что код - полное г***о и его надо переписывать :) В этот раз получилось так же, поэтому за прошедшие три месяца игровой механикой мы не занимались. Сейчас на очереди добавление экрана игры в новую версию, а потом уже механика
maisvendoo
после нажатия старт гейм окно просто закрывается
Видимо, та же проблема, что и у toZen. Забыл, что пользовательские настройки надо хранить не в /usr/lib/pymonopoly/, a в $HOME/.config/pymonopoly/ (поэтому и вылетает без sudo). Сейчас выкачу исправление, но все равно пока что при нажатии на начало игры ничего не происходит

UPD. Обновил, теперь все должно быть нормально. Только не забывайте, что при удалении пакета каталог $HOME/.config/pymonopoly/ удаляться не будет.
И лучше, наверное, пакет не просто переустановить, а сначала удалить
GitHub, ArchWiki, AUR
Kycok, не вылетает, но и не запускается. Жду рабочего релиза. Гейма - крутяк, по дизайну - самое то!
А не хотите для настроек использовать модуль configparser/ConfigParser? Плюсы очевидны:

1. Нормальная поддержка настроек, включая группировку (ini).
2. Конфиги будут выглядеть приличнее.
3. Не надо писать свои костыли, которые еще могут сломаться в теории.

Еще вот:
for cifra in (32, 13, 16):

Еще общая рекомендация (вы же критику принимаете? :)): в целом меньше использовать своих костылей и больше библиотечных. Например, кмк упомянутый PyMonopoly/bests_fill.py можно переписать с использованием datetime и будет выглядеть по-опрятнее. Также настоятельно рекомендую писать небольшие докстринги. Через год-два вы потратите много времени пытаясь понять, почему это так и как это работает.

PS судя по тому, что показало ведро, у вас табы. Чем пробелы не угодили? Я для питона в проектах на работе, например, руководствуюсь pep8 (он содержит уже готовую проверку стилей и не надо ничего самому проверять), там есть такое: https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces
PGP 0x31361F01
arcanisrepo
 
Зарегистрироваться или войдите чтобы оставить сообщение.