Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2025, 12:51   #1
ProstoDez
 
Регистрация: 22.01.2025
Сообщений: 8
По умолчанию Проверьте игру

написал на питоне кликер, и хочу понять, что в нем можно усовершенствовать/оптимизировать
Вложения
Тип файла: zip Klicker.zip (2.8 Кб, 7 просмотров)
ProstoDez вне форума Ответить с цитированием
Старый 23.01.2025, 13:25   #2
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 205
По умолчанию

По логике сказать не могу, нет Windows, но по тексту:
1. Рабочие файлы лучше держать в личном каталоге пользователя, а не на C: .
2. Нет проверки на множественный запуск программы (чтобы не запускали одновременно несколько процессов программы).
3. Заметно, что программа дословно переведена с Бейсика, но, всё-таки, Python - структурный язык, оформлять текст надо бы соответствующе.
DeepFlake вне форума Ответить с цитированием
Старый 24.01.2025, 16:19   #3
ProstoDez
 
Регистрация: 22.01.2025
Сообщений: 8
По умолчанию

Я специально положил файлы на диск С, чтобы не пришлось замарачиваться с именем пользователя и его счетом. Проверку на множественный запуск постараюсь организовать. Игра написана чисто на питоне, с бейсиком даже ни разу не работал. Я просто постарался сделать игру не такой объемной, изначально она весила 16 кб
ProstoDez вне форума Ответить с цитированием
Старый 24.01.2025, 16:37   #4
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 205
По умолчанию

К С: не у всех пользователей может быть доступ на запись.

Не надо бояться делать большие программы, на Python программу можно разделить на части (модули).
Так же желательно данные в процедуры передавать через параметры, а не использовать глобальные переменные.

Проверку чтобы только один экземпляр программы был запущен можно сделать так: при запуске программы создавать какой-нибудь именованный объект синхронизации (например, мьютекс или семафор). Если он уже создан, то будет ошибка, то есть запущен другой экземпляр.
DeepFlake вне форума Ответить с цитированием
Старый 24.01.2025, 18:00   #5
ProstoDez
 
Регистрация: 22.01.2025
Сообщений: 8
По умолчанию

Спасибо, учту
ProstoDez вне форума Ответить с цитированием
Старый 24.01.2025, 23:51   #6
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,374
По умолчанию

Почитайте вот тут:
Check if a Python script is already running in Windows:
https://www.iditect.com/program-exam...n-windows.html

PS: Как вариант, в начале работы скрипта проверяют наличие некоторого файла, который записывается в начале работы скрипта и удаляется при завершении.
Это не очень хороший вариант, так как при досрочном завершении скрипта, например, по ошибке, файл не будет удалён. Приходится удалять ручками.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 25.01.2025, 18:52   #7
DeepFlake
Форумчанин
 
Регистрация: 16.05.2024
Сообщений: 205
По умолчанию

to ViktorR:
да, хорошая статья, но единственно надёжные варианты там 4 и 5, про мьютекс и семафор. Остальные или ненадёжные или ведут к проблемам.
DeepFlake вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверьте код camel5 Помощь студентам 1 02.12.2013 05:23
Проверьте код camel5 Общие вопросы C/C++ 0 25.11.2013 19:55
проверьте код с++ mary++ Помощь студентам 0 19.12.2011 22:13
Проверьте код Ko$ Помощь студентам 4 17.03.2011 14:29
проверьте знания по математике и протестите игру anyx Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 26.10.2009 12:58