Entry tags:
Змея запускаем- II
Как и планировал, начал писать на питоне вот эту игру. Из правил осталось реализовать компенсацию и банкротство, и можно будет подсовывать AI разные целевые функции и сравнивать, какая лучше.
Так я и не почувствовал, когда массив/словарь передается по ссылке, а когда - по значению. Поэтому copy() в коде расставлены хаотически.
Очень раздражает невозможность проверить синтаксис. Сообщения об ошибках тоже ясностью не отличаются.
Спроектировать разделение на классы получается тоже крайне невнятно. Понятно, что игрок - это отдельный класс, потому как ему разные стратегии выбора оптимального хода прописывать. Функции применения карт ушли в условно-главный модуль, хотя можно их выделить отдельно. "Игра", собственно, по смыслу синглтон.
Целевые функции, похоже, надо будет тщательно калибровать. Собственно, интересных моментов для выбора алгоритма я там нашел пока ровно 3: покупку-продажу после изменения цен, выбор, большую или малую карту класть (подозреваю, что тут надо отдельно считать оптимум для больших и малых, и отталкиваться от соотношения по целевой функции), и то, какую долю вкладывать в повышаемые акции из свободных средств.
А там, глядишь, и до интерфейса доберусь (видимо, ncurses и PyQt).
Еще бы правила оригинальной версии найти.
Так я и не почувствовал, когда массив/словарь передается по ссылке, а когда - по значению. Поэтому copy() в коде расставлены хаотически.
Очень раздражает невозможность проверить синтаксис. Сообщения об ошибках тоже ясностью не отличаются.
Спроектировать разделение на классы получается тоже крайне невнятно. Понятно, что игрок - это отдельный класс, потому как ему разные стратегии выбора оптимального хода прописывать. Функции применения карт ушли в условно-главный модуль, хотя можно их выделить отдельно. "Игра", собственно, по смыслу синглтон.
Целевые функции, похоже, надо будет тщательно калибровать. Собственно, интересных моментов для выбора алгоритма я там нашел пока ровно 3: покупку-продажу после изменения цен, выбор, большую или малую карту класть (подозреваю, что тут надо отдельно считать оптимум для больших и малых, и отталкиваться от соотношения по целевой функции), и то, какую долю вкладывать в повышаемые акции из свободных средств.
А там, глядишь, и до интерфейса доберусь (видимо, ncurses и PyQt).
Еще бы правила оригинальной версии найти.
no subject
no subject
А игра хорошая, сколько я на нее с друзьями времени потратил --- жуть.
no subject
Не, с числами все понятно... Не вполне понятно со списками.
no subject
no subject
no subject
no subject
no subject
no subject
Когда допишу, поскольку ты в это играл, будет с кем проконсультироваться :-)
no subject
no subject
А как ему объяснить, что выравнивание табуляциями - нормально? Или это мне надо объяснять, что оно ненормально?
no subject
Документация по pylint в нём самом: Документация в формате reST, можно сконвертировать в html. То, что тебе нужно - indent-string, по умолчанию 4 пробела. Умолчание в соответствии со Style Guide.
no subject
Perl::Critic - это очень полезная валидация стиля для Perl.
no subject
no subject
no subject
no subject
Оч. рекомендую