Virtual Laboratory Wiki
Advertisement

Terrarium

Сам биолог... и узнав о существавании подобной программы узнал недавно... Прочитав о ней сразу же вспомнились лекции по экологии (о развитии популяций. отношения хищник-жертва и т.п.) Захотелось попробовать запустить модель популяции у себя на компьютере и смотреть что происходит при изменении каких-либо параметров животных. Но вследствии того, что познания в программировании у меня поверхностные (мягко говоря ;)) хотел бы получить посильную помощь со стороны знающих людей. Пока я застрял в самом начале ))) Взяв этот код :


   using System.IO;
   using OrganismBase;
   [assembly: OrganismClass("CSharpCreatures.Plant2")]
   [assembly: AuthorInformation("IgorJan", "vgtgk@mail.ru")]
   namespace CSharpCreatures
   {
      [MaximumEnergyPoints(10)]
      [MatureSize(26)]
      [SeedSpreadDistance(100)]
       public class Plant2 : Plant
     {
       public override void SerializePlant(MemoryStream m) { }
       
       public override void DeserializePlant(MemoryStream m) { }
     }
   }


создал соответствующую dll. Но при попытке добавить растение в террариум я получил сообщение: A MyKust was destroyed because it is blacklisted due to pastbad behavior and won't be loaded Что мне лучше сделать чтобы заставить растение прижиться?

Я думаю, что необходимо добавить какой-то код... т.к., видимо, это всего лишь каркас...

« Спасибо за ответы Вобщем студию установил. с ее помощью скомпилировал (откомпилировал) dll.

Но теперь, когда я добавляю в "террариум" растение (или любую другую dll), появляется сообщение "A MyKust was destroyed because it is blacklisted due to pastbad behavior and won't be loaded" ... насколько я понял - организм MyKust уничтожен потому что невозможно добавить организм у которого не определено поведение. на самом деле я просто взял кусок примера и тупо скопировал ничего не меняя там... хотел попробовать появиться куст или нет. добавлять пытался в локальном режиме. Что мне лучше сделать чтобы куст мой начал жить полной жизнью? )) Кстати то же самое происходит если добавляю травоядное из примера без изменений. Видимо это своего рода "каркас", который необходимо "доделать" (например описав поведение организмов). Я правильно понял? ;)

»
  • В каком состоянии вы сейчас ? Вы скачали просто приложение и проинсталировали ? Запустились без проблем и бегаете по пустому Террариуму ? Создавая растение, вы компилировали его в студии ?
  • Думаю, вы входите - это по умолчанию так, в режим сервера - т.к. эта игра заброшенна сервер явно не работает. Вам нужно переключится в режим без сервера, т.е. локально только на вашем компьютере. Есть иконка с маленьким плюсиком и листиком, 4-ая справа - жмете, вписываете какое нибудь название - перезагружается террариум и вы в локальном варианте, пытайтесь загрузить своих зверьков. Отпешитесь как получилось ... если вы биолог это может быть интересно - может как нибудь поставим общий эксперимент ... S.J. 19:14, 12 августа 2009 (UTC)

Я пытался запустить организм уже в локальном режиме (как переходить из сетевого в локальный режим сразу нашел). И то что я написал выше происходило именно в локальном режиме. А по поводу совместных экспериментов - это здорово, вот только мне бы научиться создавать организмы и запускать их в террариум...:)

  • Это очень страно, я проверил ваш код - у меня появляется 10 кустиков. Откуда Вы качали установку террариума? Выложите код целиком, может там есть еще что-то ... (подписывайтесь ставя в конце ~~~~) S.J. 06:13, 13 августа 2009 (UTC)
  • или вот, что закачайте сюда вашу dll - я проверю именно ее. S.J. 06:16, 13 августа 2009 (UTC)


IgorJan 07:16, 13 августа 2009 (UTC) Выглядит все это примерно так: При добавлении кустов на долю секунды они появляются в мире , но тут же исчезают... и сообщение слева внизу "A MyKust was destroyed because it is blacklisted due to pastbad behavior and won't be loaded" про какой-то черный список... IgorJan 07:46, 13 августа 2009 (UTC)

  • У меня этот куст добавился нормально - проблема не в dll. Попробуйте переустановить, или лучше скачайте исходники (Terrarium-2.0-Source.zip) и откомпилируйте все приложение заново. Можете запустить прямо из Студии. S.J. 08:09, 13 августа 2009 (UTC)
  • Переустановил... все равно то же самое...
  • Скачал исходники. Откомпилировал клиент. Все равно та же фраза после добавления dll.
  • Хочу дома попробовать переустановить Framework...

IgorJan 09:12, 13 августа 2009 (UTC)

  • У что за операционка ? XP ? S.J. 09:26, 13 августа 2009 (UTC)
  • Может еще быть с настройками Framework, т.к. террариум удалет тех жуков, которые нарушают т.н. сикюрити, а оно управляется в частности от Framework. Но все равно как то странно. S.J. 09:28, 13 августа 2009 (UTC)
  • операционка - XP Home Edition. дома Prof... на счет безопасности вполне может быть... видел про какие-то сертификаты.... может это не то, но все равно не вредно будет разобраться.IgorJan 09:35, 13 августа 2009 (UTC)
  • Нашел в исходниках код генерирующий фразу "A [creature] was destroyed because is blacklisted due to past bad behavior and won't be loaded". файл:

Terrarium-2.0-Source\Client\Game\Classes\Engine\EventArgs\EngineStateChangeEventArgs.cs Может это как-то прольет свет на проблему... IgorJan 09:35, 13 августа 2009 (UTC)

// This exception gets thrown when we try to give a time slice to an animal // that has been replaced by the special TerrariumOrganism, whose whole purpose // is to just replace a blacklisted animal until it is safe to remove them // from the game, which is now.

  • я плохо понимаю англ., но почему то ваш организм записывают в черный список. посмотрю еще S.J. 09:42, 13 августа 2009 (UTC)
  • S.J. 09:46, 13 августа 2009 (UTC) Похоже вы меня обманываете :) это исключение возникает только для животных, наследников Animal и нужно перекрыть метод, так :
protected override void Initialize()
{
}
  • Всё! Отбой! )))) я понял в чем дело! (ну точнее не я...))) Решение проблемы Это была моя ошибка ))

Теперь организмы добавляются... буду разбираться с ними)))IgorJan 09:50, 13 августа 2009 (UTC)

  • я не обманываю ))) смысла нет )) Спасибо за терпение :)IgorJan 09:50, 13 августа 2009 (UTC)
  • т.е. Вы имеете введу Не кладите своих чудовищ в Террариумный BIN ! ? (все равно страно - если это как вы утверждаете наследник от Plant - то такое исключение не может произойти ... ) . Пишете если будут идеи, мне эта тема интересна ... S.J. 10:28, 13 августа 2009 (UTC)
  • Верно. У меня файлы организмов лежали в "Террариумном BIN", а когда переместил их в другую папку - все заработало.

Я сначала разберусь что да как... может что-то проверю. а вообще идеи есть, но, думаю, сначала научиться надо простейших создавать. Как что-нибудь сделаю напишу )) IgorJan 11:06, 13 августа 2009 (UTC)

  • Ok S.J. 12:27, 13 августа 2009 (UTC)
Advertisement