А еще при записи нового имени пользователя через edit_profile не проверяется уникальность имени и если ввести уже существующее имя, то приложение падает.
Как раз рассматривают. А перед стенами они не встают, потому что обойти могут. А если существо окружить стенами, а ресурс положить снаружи, то оно так же будет стоять на месте, как если оно другими существами окружено.
Я примерно представлял себе, что публикация и поддержка всамделишной публичной библиотеки занимает кучу времени и осознаю, что меня одного с моим уровнем на такую большую и серьезную задумку вряд ли хватит. Но это для того и было затеяно, чтобы повысить уровень, найти единомышленников, и хвастаться перед девушками ) В любом случае, спасибо за то, что поделились опытом — если дело вдруг дойдет до серьезной поддержки библиотеки, буду знать, к чему готовиться.
Тут вы правы, поторопился немного. Классы Creature, Blank, Block также как и классы состояний, не должны являться частью библиотеки, так как относятся к этому конкретному случаю ее применения. Надо будет вытащить их оттуда и сделать частью примера. Тогда и магические числа будут более простительны ) Хотя, конечно, лучше в константы.
Да, была идея ввести дополнительные условия, чтобы при размножении ресурсы тратились или меняли хозяина, а их нехватка повышала вероятность умереть ) Но тогда можно увлечься балансом конкретного мира тогда как сам инструмент создания еще доводить и доводить до ума.
А про направление движения — если они решили собирать ресурс, но не могут до него дойти, они будут стоять, так же как и со спариванием. Друг по другу они не ходят, поэтому и встают намертво, пока кто-то не освободит место.
Ну, это же пример работающей модели обучения, а не сбалнсированного мира ) Продолжительность жизни, как и вероятность появления ресурсов задана не жестко, а с помощью верояности:
class Blank(Entity):
...
def live(self):
...
if random.random() <= 0.0004:
self._container.append(substances.Substance())
....
class Creature(Agent):
....
def pre_actions(self):
...
if random.random() <= 0.001 and self.age > 10:
self.die()
...
А вообще да, так и есть — для жизни этим существам ресурсы не нужны, только для размножения, и то они на размножение не тратятся, поэтому так и происходит.
Про requirements и размер клеток учту обязательно, благодарю.
Я вообще до программирования долго шел ) А над таким вариантом думал — было бы отлично, как только мое знание программирования догонит знание английского.
Интересный проект, надо будет ознакомиться. Только нигде не нашел информацию о том, что разработка еще в процессе — везде последняя активность максимум в начале этого года.
Мне как раз внешние алгоритмы не так важны — за них должна сама библиотека отвечать. А вот удобная визуализация — то, что надо. Вам тоже спасибо за наводку.
Да, тоже думал об этом. Сначала у меня даже визуализация была символьная. И библиотеки какие-то для рогаликов смотрел. Потом решил, что пока рано интерфейсом заниматься, но как до этого дойдет, можно будет и такое что-то прикрутить. Благодарю за наводку на tdl.
Эта история еще длиннее, чем статья ) Если вкратце, то по образованию я — вообще учитель английского и программировать начал поздно. А в наших краях заработать можно либо сайтами либо 1С с очень редкими исключениями. Сайты как-то не зашли, а 1С — отличный инструмент и не его вина в том, как им пользуются )
Ну, так форкайте ) Я только за, если это кому-нибудь принесет пользу. И, кстати, почему питон вызвал удивление? Мне казалось, для такого применения, он — самое то.
Да, порядок второго и третьего пункта дискуссионен. Я исходил из следующих двух соображений:
1. Если потенциальные обладатели атопилота будут знать, что в случае чего их автомобиль их убьет чтобы спасти пешеходов, то покупать автомобили с автопилотом будут гораздо менее охотно. А если правы исследования, которые говорят, что чем больше автопилотов, тем меньше аварий, то в целом это приведет к лишним жертвам.
2. Спорный момент, к сожалению, не могу привести исследований, но есть общее ощущение, что большая часть живых водителей предпочтут сбить двух пешеходов, даже если они на пешеходном переходе, тому чтобы слететь вдвоем с пассажиром с моста. Их же мы не сажаем.
1. Исходим из того, что погибнут все.
2. Выбираем варианты, при которых не погибнут пассажиры.
3. Из них выбираем те, при которых не умрут те, кто не нарушил ПДД.
4. Из них выбираем те, при которых минимизируются жертвы.
5. Из них выбираем те, где меньше действий (по возможности не поворачивать, предпочитать простые действия сложным во избежание непредвиденных ошибок)
6. И вот только когда выбор стоит между повернуть направо и сбить одного пешехода, идущего на красный или повернуть налево и сбить одного пешехода, идущего на красный, можно размышлять, кто тебе больше нравится, или кто полезнее для общества. Это вообще можно рандомом решать, или личными настройками — все равно к консенсусу по поводу того, кого сбивать при прочих равных — мальчика или девочку, общество не придет.
Правильно я понимаю, что если размер видимой вселенной увеличивается быстрее расширения самой вселенной, то через какое-то время за одну секунду диаметр видимой части вселенной будет увеличиваться не на 6 световых секунд, как сейчас, а на несколько световых дней, потом месяцев, потом лет и в итоге уйдет в сингулярность?
и хвастаться перед девушками) В любом случае, спасибо за то, что поделились опытом — если дело вдруг дойдет до серьезной поддержки библиотеки, буду знать, к чему готовиться.Да, была идея ввести дополнительные условия, чтобы при размножении ресурсы тратились или меняли хозяина, а их нехватка повышала вероятность умереть ) Но тогда можно увлечься балансом конкретного мира тогда как сам инструмент создания еще доводить и доводить до ума.
А вообще да, так и есть — для жизни этим существам ресурсы не нужны, только для размножения, и то они на размножение не тратятся, поэтому так и происходит.
Про requirements и размер клеток учту обязательно, благодарю.
1. Если потенциальные обладатели атопилота будут знать, что в случае чего их автомобиль их убьет чтобы спасти пешеходов, то покупать автомобили с автопилотом будут гораздо менее охотно. А если правы исследования, которые говорят, что чем больше автопилотов, тем меньше аварий, то в целом это приведет к лишним жертвам.
2. Спорный момент, к сожалению, не могу привести исследований, но есть общее ощущение, что большая часть живых водителей предпочтут сбить двух пешеходов, даже если они на пешеходном переходе, тому чтобы слететь вдвоем с пассажиром с моста. Их же мы не сажаем.
2. Выбираем варианты, при которых не погибнут пассажиры.
3. Из них выбираем те, при которых не умрут те, кто не нарушил ПДД.
4. Из них выбираем те, при которых минимизируются жертвы.
5. Из них выбираем те, где меньше действий (по возможности не поворачивать, предпочитать простые действия сложным во избежание непредвиденных ошибок)
6. И вот только когда выбор стоит между повернуть направо и сбить одного пешехода, идущего на красный или повернуть налево и сбить одного пешехода, идущего на красный, можно размышлять, кто тебе больше нравится, или кто полезнее для общества. Это вообще можно рандомом решать, или личными настройками — все равно к консенсусу по поводу того, кого сбивать при прочих равных — мальчика или девочку, общество не придет.
Как-то так.