Вход  •  Регистрация

Алчность (Python)

Сообщение » 04.08.2020, 22:30

Я уже выкладывал на этом форуме несколько игр, сделанных мной на Pascal - сначала консольных, потом оконных. Теперь я открываю мир другого ЯП - Python.
Это моя первая более-менее сложная программа на этом языке (размер исходного кода - чуть больше тысячи строк). Писал я её около трёх недель.
Да, это уже третья моя игра по "Алчности". Увы, ботов здесь нет, т.к. пока не знаю, как это реализовать. Если здесь есть человек, программирующий на Питоне, буду благодарен помощи.
Что нового:
1) В отличие от версии на Lazarus, тут, мне кажется, нет проблемы с обработкой нажатия кнопок в терминаторе (это A и L, если вы забыли)
2) Теперь в терминаторе может быть несколько правильных ответов. Писать так:
Код: Выделить всё
вопрос 1?
ответ1 ответ2 ответ3

3) Программа генерирует обзоры проведённых игр в логе.

Теперь о грустном. Я не знаю, как перенести игру на другой компьютер. На моей машине с Убунту 16.04 и PyCharm Community она работает. На старом ноутбуке с Ubuntu MATE той же версии и PycharmEdu тоже проблем нет. А вот на виртуальной машине запускаться не хочет.

Запускать так:
1)Разархивировать.
2)Зайти в папку venv и запустить в терминале.
3)Ввести:
Код: Выделить всё
bin/python main.py


Скриншоты:
Изображение

Изображение

Вот ссылка на программу. Лицензия - GNU GPL 3.
https://yadi.sk/d/QcNoi5w8kzXnug
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 05.08.2020, 10:08

Создал исполняемый файл под Windows, но для этого пришлось внести небольшие изменения в исходный код.
Ссылка на ZIP-архив с программой и исходниками:
https://yadi.sk/d/UsVlMBPShLectA


P.S. В этой программе есть несколько изображений. Я загрузил их с сайта kenney.nl
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 30.09.2020, 20:56

Обнаружил две ошибки в исходном коде:

1) Если терминатор проводился, имена игроков в последующих терминаторах остаются те же, что и в первом терминаторе,

2) Если команда берет взятку, а последний ответ неверен, команда уходит ни с чем.

Исправил ошибки в версии под Линуксом, а также добавил парочку новых вопросов. Можете скачать во вложении к этому посту. Поместите их в папку с игрой, система предложит изменить файлы. Согласитесь.
Вложения
patch.zip
Исправления
(15.73 КБ) Скачиваний: 67
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 15.12.2020, 18:39

Только что случайно обнаружил небольшую ошибку, связанную с выбором вопроса в Терминаторе - вопрос в первом Терминаторе случайный, а вопросы в последующих Терминаторах будут те, что в базе стоят сразу после вопросов в предыдущих Терминаторах.
Т.е. первым может выпасть вопрос с индексом, скажем, 8, а следующими выпадут вопросы с индексами 9 и 10.
Подправил. Прошу перекачать файл с кодом.
Вложения
main_little_fix.py.zip
Новый код
(10.25 КБ) Скачиваний: 63
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 13.02.2021, 15:19

Новый фикс.

Раньше на плашках варианты ответов были плохо видны (уехали вверх), я исправил это недоразумение:

Было  : Изображение
Стало : Изображение
Вложения
main_fix3.py.zip
Fix
(10.28 КБ) Скачиваний: 58
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 18.02.2021, 10:37

Наконец-то мне удалось создать нормальный исполняемый файл под Windows!

А вот ссылка на гитхаб:
Ссылка
Вложения
greed_win.zip
Спасибо утилите pyinstaller
(9.88 МБ) Скачиваний: 129
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 28.08.2022, 20:27

Добавил музыку, которую ранее выкладывал Freemont, и немного графики, сделанной собственноручно стандартными средствами Python.
Offtopic :
Константин, надеюсь, вы не против того, чтобы я использовал эту музыку :wink:


Ссылка на Github осталась прежней.
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 29.08.2022, 20:58

Offtopic :
Gamer пишет:Константин, надеюсь, вы не против того, чтобы я использовал эту музыку

Не парьтесь, я всё равно никак за новую версию не сяду.
Аватара пользователя
-DJFreemont-
 
Репутация: +239/-45
Сообщения: 2079

Сообщение » 30.08.2022, 15:22

Gamer пишет:Добавил музыку, которую ранее выкладывал Freemont, и немного графики, сделанной собственноручно стандартными средствами Python.
Offtopic :
Константин, надеюсь, вы не против того, чтобы я использовал эту музыку :wink:


Ссылка на Github осталась прежней.

Как оттуда скачать?
vasynovikov199718
 
Репутация: 0
Сообщения: 28

Сообщение » 30.08.2022, 18:50

vasynovikov199718 пишет:Как оттуда скачать?


Нажимаете на зелёную кнопку Code, а в открывшемся меню выбираете "Download ZIP".

Однако я обязан предупредить сразу, что для запуска этого недостаточно, нужен Python версии не ниже 3.7, т.к. именно в нём стал правильно работать модуль Pygame, необходимый для запуска звуков. Я также запускал свою игру под Ubuntu 22.04 и Python 3.10, работает без нареканий. Однако мне не удалось, к сожалению, создать исполняемый файл под Windows, поэтому, как я уже сказал, в этом случае у вас должен быть интерпретатор Python. Впрочем, как мне известно, в новых версиях винды он имеется.
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 29.06.2024, 21:24

К игре подъехало дополнение! Да не одно, а сразу три!
1)
Когда я писал первую свою версию "Алчности" на Паскале, я добавил капитанскую взятку. В двух последующих моих играх её не было, так что я решил вернуть такую опцию. Она включается в начале игры по вашему желанию.

За идею двух других режимов благодарите Ur-Quan'a :wink:
2)
Игру, на мой взгляд, портит отсутствие несгораемых сумм. На последних этапах игроки просто боятся рисковать крупным выигрышем.

После отборочного тура капитан ставит несгораемую сумму (от 25 тысяч до 1 миллиона). Деньги, заработанные игроками команды при достижении несгораемой суммы, они потерять уже не могут, даже если они потом проиграют в Терминаторе или команда даст неверный ответ. НО: Если несгораемая сумма достигнута, то на последующих вопросах после трёх правильных ответов взятка не полагается.

3)
«Джокер» практически всегда применяется сразу же. Ничего хорошего в этом нет (падает разнообразие). Можно было на каждый из 4 последних вопросов выдавать по «Джокеру», а уж как их распределять – решает капитан.

Перед игрой выбирается количество Джокеров (2, 3 или 4). Они становятся доступны, начиная с пятого вопроса (как и в оригинале). На одном вопросе можно использовать и более одного Джокера, но нельзя закрыть ими все неправильные ответы - хотя бы один неверный вариант должен остаться.

Мне было бы приятно, если бы вы здесь отписались :Yahoo!:
Ссылка на Github
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381

Сообщение » 30.06.2024, 18:11

Ох, и намаялся я со сборкой этой игры под Windows... Но у меня получилось собрать исполняемый файл!

Игра работает под Windows 10. Под семёркой точно не пойдёт, т.к. Python 3.12 не работает под этой версией.
Аватара пользователя
Gamer
 
Репутация: +47/-3
Сообщения: 381


Вернуться в ПК-игры на основе телешоу