Я выкопал в центре арены небольшую яму, установил в ней плетение с активацией по таймеру приблизительно через минуту, аккуратно положил туда булыжник весом несколько килограммов, включил защитный купол и пошел на ближайшую трибуну. Находиться поблизости от летающего булыжника было стремно. Н-да… очень правильно поступил! Мало того что каменюка мгновенно оказалась в воздухе, со скоростью пули взлетев вверх, но почему-то и грунт вдоль стенок ямы брызнул в стороны с такой силой, что я даже испугался, как бы не пробило защитный полог. Ямища образовалась… Нехилая там взорвалась «кучка толовых шашек»! Я снял купол. В воздухе распространилась жуткая пыль и вонь. Стало трудно дышать. Ну ничего, приятель-элементаль тут же развеял эту гадость свеженьким ветерком. Я посмотрел в яму. Н-да… Переполненный накопитель разрядился мгновенно! «Не левитация, а граната. Не хотите ли покататься на пушечном ядре?» – подумал я. Нет, так дело не пойдет! А добавим-ка в плетение блок, регулирующий процесс передачи энергии (я подсмотрел его в памяти Лотколба). Успешно: результат в виде двухминутной работы плетения в точности соответствует смоделированной на компе ситуации с внесенными поправками. Но эффект – всего-то парочка парящих над землей камней не более чем на двухметровой высоте! Н-да, в точку фокуса таким образом явно не долетишь.
Засыпав яму и прибравшись на полигоне, расстроенный, я пошел отмокать в озерце. Погода была чудесная, вода приятная, на небе ни облачка. Я расслабился, успокоился и постарался более осмысленно взглянуть на результат. «А что, собственно, произошло? – пришла мысль. – Ну не получилось пока, что поделаешь. И идей, к сожалению, никаких нет».
Программирование – профессия творческая. Почти для любой проблемы находится не менее дюжины способов решения. А иногда можно и нужно скорректировать исходную постановку задачи. Конечно, существует технология разработки и так называемые кодеры, которые пишут код, не отклоняясь от задания ни на миллиметр. Но мы не о них, бедных маленьких винтиках технического прогресса. Я имею в виду других работников клавиатуры, мышки и сканеров мысленных импульсов. Тех, кто, поняв реальные потребности заказчика, сам себе может поставить задачу, выбрать методу ее реализации, разработать интерфейсы и необходимые алгоритмы, построить архитектуру классов, типов, объектов, протоколов сообщений между модулями и реализовать все это добро в коде. Добиться не только того, чтобы оно заработало достаточно эффективно, но и было удобно в использовании людьми, не знакомыми с программированием. Вот нам часто приходится творить похлеще, чем какому-нибудь живописцу. И в самом деле, каков инструментарий художника? Всего лишь холст, кисти, краски и собственное воображение.