![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.01.2025
Сообщений: 8
|
![]()
написал на питоне кликер, и хочу понять, что в нем можно усовершенствовать/оптимизировать
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 205
|
![]()
По логике сказать не могу, нет Windows, но по тексту:
1. Рабочие файлы лучше держать в личном каталоге пользователя, а не на C: . 2. Нет проверки на множественный запуск программы (чтобы не запускали одновременно несколько процессов программы). 3. Заметно, что программа дословно переведена с Бейсика, но, всё-таки, Python - структурный язык, оформлять текст надо бы соответствующе. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 22.01.2025
Сообщений: 8
|
![]()
Я специально положил файлы на диск С, чтобы не пришлось замарачиваться с именем пользователя и его счетом. Проверку на множественный запуск постараюсь организовать. Игра написана чисто на питоне, с бейсиком даже ни разу не работал. Я просто постарался сделать игру не такой объемной, изначально она весила 16 кб
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 205
|
![]()
К С: не у всех пользователей может быть доступ на запись.
Не надо бояться делать большие программы, на Python программу можно разделить на части (модули). Так же желательно данные в процедуры передавать через параметры, а не использовать глобальные переменные. Проверку чтобы только один экземпляр программы был запущен можно сделать так: при запуске программы создавать какой-нибудь именованный объект синхронизации (например, мьютекс или семафор). Если он уже создан, то будет ошибка, то есть запущен другой экземпляр. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 22.01.2025
Сообщений: 8
|
![]()
Спасибо, учту
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 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: Как вариант, в начале работы скрипта проверяют наличие некоторого файла, который записывается в начале работы скрипта и удаляется при завершении. Это не очень хороший вариант, так как при досрочном завершении скрипта, например, по ошибке, файл не будет удалён. Приходится удалять ручками.
Как-то так, ...
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 205
|
![]()
to ViktorR:
да, хорошая статья, но единственно надёжные варианты там 4 и 5, про мьютекс и семафор. Остальные или ненадёжные или ведут к проблемам. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проверьте код | 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 |