Змея запускаем- II
Jan. 5th, 2010 12:11 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Как и планировал, начал писать на питоне вот эту игру. Из правил осталось реализовать компенсацию и банкротство, и можно будет подсовывать AI разные целевые функции и сравнивать, какая лучше.
Так я и не почувствовал, когда массив/словарь передается по ссылке, а когда - по значению. Поэтому copy() в коде расставлены хаотически.
Очень раздражает невозможность проверить синтаксис. Сообщения об ошибках тоже ясностью не отличаются.
Спроектировать разделение на классы получается тоже крайне невнятно. Понятно, что игрок - это отдельный класс, потому как ему разные стратегии выбора оптимального хода прописывать. Функции применения карт ушли в условно-главный модуль, хотя можно их выделить отдельно. "Игра", собственно, по смыслу синглтон.
Целевые функции, похоже, надо будет тщательно калибровать. Собственно, интересных моментов для выбора алгоритма я там нашел пока ровно 3: покупку-продажу после изменения цен, выбор, большую или малую карту класть (подозреваю, что тут надо отдельно считать оптимум для больших и малых, и отталкиваться от соотношения по целевой функции), и то, какую долю вкладывать в повышаемые акции из свободных средств.
А там, глядишь, и до интерфейса доберусь (видимо, ncurses и PyQt).
Еще бы правила оригинальной версии найти.
Так я и не почувствовал, когда массив/словарь передается по ссылке, а когда - по значению. Поэтому copy() в коде расставлены хаотически.
Очень раздражает невозможность проверить синтаксис. Сообщения об ошибках тоже ясностью не отличаются.
Спроектировать разделение на классы получается тоже крайне невнятно. Понятно, что игрок - это отдельный класс, потому как ему разные стратегии выбора оптимального хода прописывать. Функции применения карт ушли в условно-главный модуль, хотя можно их выделить отдельно. "Игра", собственно, по смыслу синглтон.
Целевые функции, похоже, надо будет тщательно калибровать. Собственно, интересных моментов для выбора алгоритма я там нашел пока ровно 3: покупку-продажу после изменения цен, выбор, большую или малую карту класть (подозреваю, что тут надо отдельно считать оптимум для больших и малых, и отталкиваться от соотношения по целевой функции), и то, какую долю вкладывать в повышаемые акции из свободных средств.
А там, глядишь, и до интерфейса доберусь (видимо, ncurses и PyQt).
Еще бы правила оригинальной версии найти.
no subject
Date: 2012-01-23 08:12 am (UTC)