<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-159017766949182016</id><updated>2012-02-16T22:20:14.212+02:00</updated><category term='Протокол'/><category term='Simcom'/><category term='Размышления...'/><category term='Гитара'/><category term='Java'/><category term='Банки'/><category term='Atmel'/><title type='text'>Hello-Shef</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-4589488036131025889</id><published>2009-12-28T00:46:00.003+02:00</published><updated>2009-12-28T01:02:51.204+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Размышления...'/><title type='text'>Про Я</title><content type='html'>Взгляните на статьи, которые опубликованы в данном блоге. Первое что бросается в глаза - это буква &lt;b&gt;Я&lt;/b&gt;. Которая заметнее остальных букв. Настоятельно прошу читателей не воспринимать это как манию величия или стремление вознести себя до небес. Ни первое ни второе не верно.&lt;br /&gt;&lt;b&gt;Я&lt;/b&gt; такое потому, что &lt;b&gt;Я&lt;/b&gt; так пишу букву &lt;b&gt;Я&lt;/b&gt;. Если бы это была рукопись, читатель мог бы видеть мой почерк. Но поскольку блог - это электронный дневник, то &lt;b&gt;Я&lt;/b&gt; просто вынужден вносить отличия от блогов других авторов. Это как особенности почерка. Размер букв, наклон, направление почерка, размашистость и сила нажима, характер написания слов... Каждый почерк уникален.&lt;br /&gt;Вот и мой почерк отличается. Моя буква &lt;b&gt;Я&lt;/b&gt;, стоящая особняком от других букв имеет такое начертание.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-4589488036131025889?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/4589488036131025889/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=4589488036131025889' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/4589488036131025889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/4589488036131025889'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2009/12/blog-post_28.html' title='Про &lt;b&gt;Я&lt;/b&gt;'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-5068621001355185339</id><published>2009-12-26T01:00:00.006+02:00</published><updated>2009-12-28T00:45:51.174+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Банки'/><title type='text'>Кредиты, кредиты, кредиты... Часть вторая.</title><content type='html'>Да время идет... С момента выхода в свет первой части статьи многое изменилось. Например, &lt;b&gt;Я&lt;/b&gt; уже год как женат. Но не в этом суть, хотя кредитная карта нужна была как раз в канун свадьбы.&lt;br /&gt;Я успешно взял кредит в НадраБанке. Обстоятельства сложились так удачно, что &lt;b&gt;Я&lt;/b&gt; смог его погасить в беспроцентный период (буквально в течении месяца). Ну коль уж услуги по обслуживанию платные, то пришлось оплатить и годовое обслуживание (около 150 грн.). Но &lt;b&gt;Я&lt;/b&gt; ведь знал об этом заранее.&lt;br /&gt;Вобщем кредит погашен на 100% - не жизнь а песня. Проходит несколько месяцев и меня беспокоят звонком из центрального отделения на сотовый. Мол так и так,  Вы должны нам 60 гривен. Собственно  за что?&lt;br /&gt;Оказывается, что очень большую роль играет день погашения кредита. Схема расчета процентов тянет вообще на Нобелевскую премию. Типа того, что если &lt;b&gt;Я&lt;/b&gt; погашаю кредит до определенного числа месяца, то все хорошо, а если после - то сумма та же, но начисляется пеня за то что поздно, и эта пеня сразу не видна, а видна лишь в начале следующего месяца. В общем мне долго это объясняли - наверное &lt;b&gt;Я&lt;/b&gt; очень недалек ибо &lt;b&gt;Я&lt;/b&gt; не понял.&lt;br /&gt;После всех этих рассказок &lt;b&gt;Я&lt;/b&gt; попросил девушку, которая читала мне в банке лекцию по курсу "Как правильно погашать кредит, что бы остаться должным", что бы она немного увеличила сумму, которую &lt;b&gt;Я&lt;/b&gt; должен оплатить, что бы в следующем месяце все сошлось. Ведь &lt;b&gt;Я&lt;/b&gt; кредит погасил, а это уже какие то брызги - проценты на проценты от процентов.&lt;br /&gt;"Хорошо" - сказала милая и симпатичная девушка, - "с Вас .... гривен ... копеек."&lt;br /&gt;Оплачено! Лето только начинается. На улице еще не так жарко и все неприятные моменты надо оставлять позади.&lt;br /&gt;Прошло около года. Кредитная карта всегда при мне, она еще действует. Пригодится или нет - никто не знает. Есть и хорошо.&lt;br /&gt;Звонок из Банка на прежнее место жительства. Странно. К чему бы это?&lt;br /&gt;Звоню вечерком на 8-800... &lt;br /&gt; - Чем собственно обязан таким вниманием?&lt;br /&gt; - Так у Вас пеня 60 гривен.&lt;br /&gt; - Отлично, Вы меня не удивили. Завтра пойдем погашать.&lt;br /&gt;Утро. &lt;b&gt;Я&lt;/b&gt; в банке. Там где &lt;b&gt;Я&lt;/b&gt; открывал кредитку - уже служебное помещение. После мини-футбола мной по трем этажам &lt;b&gt;Я&lt;/b&gt; все-таки попал к компетентному в данном вопросе менеджеру.&lt;br /&gt; - Думаю надо закрывать карту. Как-то сложно все у Вас. С математикой плохо. Схемы темные. Да и должен &lt;b&gt;Я&lt;/b&gt; Вам все время почему-то.&lt;br /&gt; - Нет проблем. Вы должны погасить задолженность 220 гривен.&lt;br /&gt; - Только вчера было 60. Вы на какую цифру это умножили?&lt;br /&gt; - Молодой человек, меня сюда не множить поставили, а цифры говорить. Множит у нас компьютер и только ему это позволено делать. Хотите закрывать карту - закрывайте, а нет подождите пока сумма долга подрастет немного.&lt;br /&gt;Ну что тут скажешь? Если уж персонал до сих пор встречался не компетентный, то где же он другой возьмется. Видимо надо платить и закрывать. В принципе сумма оправданная и складывается из 150-ти гривен годового обслуживания, ведь второй год пользования картой начался, да плюс 60 гривен пеня, которая рассчитывается по выше приведенной схеме. Как бы расчет верный, но где гарантия, что через несколько месяцев не вылезет еще какая-нибудь цифра.&lt;br /&gt; - &lt;b&gt;Я&lt;/b&gt; могу оплатить указанную Вами сумму и забыть, что у меня была карточка?&lt;br /&gt; - Да конечно. Деньги в кассу. Заполните бланк, только укажите номер мобильного телефона.&lt;br /&gt; - А это Вам зачем, &lt;b&gt;Я&lt;/b&gt; больше не хочу быть клиентом Вашего Банка?&lt;br /&gt; - В случае каких либо проблем по закрытию карты мы Вам перезвоним и скажем сколько Вы еще должны.&lt;br /&gt; - Погодите, Ведь сумма которую Вы назвали вполне конкретная. Если надо - скажите сколько. &lt;b&gt;Я&lt;/b&gt; заплачу больше во избежание дальнейших вопросов.&lt;br /&gt; - Да больше не надо. Этой суммы вполне достаточно, но вдруг всплывут еще какие-то проценты.&lt;br /&gt; - Стоп. Стоп. Стоп. Девушка, Давайте сосредоточимся с Вами вместе сидя  в этой комнате. Какие могут еще появится проценты? Скажите, сколько заплатить что бы они не появились?&lt;br /&gt; - &lt;b&gt;Я&lt;/b&gt; не знаю. Компьютер мне других цифр не показывает, показывает только эту. Вот ее и платите. Ведь Вы же знаете, что Банк - организация серьезная и считать должен уметь только компьютер.&lt;br /&gt;Конечно же с компьютером не поспоришь.  Так и было сделано. Сумма оплачена, карточка сдана в банк. А самое главное - это то что во всех бумагах и выписках движения по счету указаны только четыре первые и четыре последние цифры номера карточки. То есть теперь даже и позвонить спросить как там дела обстоять нельзя ибо полный номер карты - неизвестен. Про какую карту спрашивать?&lt;br /&gt;&lt;br /&gt;В общем такая получилась вторая часть этой истории. Что здесь вымысел, а что на самом деле было решать читателю.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-5068621001355185339?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/5068621001355185339/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=5068621001355185339' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/5068621001355185339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/5068621001355185339'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2009/12/blog-post.html' title='Кредиты, кредиты, кредиты... Часть вторая.'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-6664058600020918308</id><published>2008-07-23T23:22:00.015+03:00</published><updated>2009-12-28T00:42:19.782+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Банки'/><title type='text'>Кредиты, кредиты, кредиты...</title><content type='html'>&lt;p&gt;Хочу, нет! Просто не могу не описать свои визиты в ПриватБанк. Эта, пусть они меня простят, контора меня долгое время очень радовала. Одновременно с зарплатной картой мне (впрочем как и всем) выдали кредитную. &lt;b&gt;Я&lt;/b&gt; был польщен. Думаю: "Ничего не надо делать, никуда не надо ходить... все сразу". Но карта долгое время была не востребована. И все напоминания об ее активации были мною проигнорированы. &lt;b&gt;Я&lt;/b&gt; уже было попрощался с этой картой. В принципе как пришло так и ушло. Но не тут-то было.&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Звонят мне менеджеры ПриватБанка и предлагают активировать карту снова. На вопрос "Что для этого надо делать", ответ - "Ничего - уже сделано. кредитный лимит 250 грн."&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Сам себе думаю: "ОК. Опять все само собой произошло". Решил посмотреть как это выглядит. Подхожу к банкомату - неверный ПИН. Несколько раз (по два в серии :-)) пробовал - все равно не верный. Хотя ввожу 100% верный код. Позвонил на 8-800-.......&lt;br /&gt; ответили что карта в порядке, лимит действительно 250 и все должно работать. Посоветовали воспользоваться другим банкоматом, ибо такое бывает. На следующий день был опробован другой - результат превзошел ожидания - карта изъята.&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Очевидный бок, причем не по моей причине. Это видимо редкая программерская удача. Ну так да и так. Отрицательный результат - тоже результат. Времени забрать карту не было около 2-х месяцев. Работа есть работа. Когда дело дошло до этого, оказалось, что она неизвестно еще куда попала после изъятия. Попросили зайти по-позже. Заходил несколько раз, но очередь в 10-15 человек, при условии что за 30 минут не освобождается ни один - не каждый может позволить себе. На третий раз пришел в субботу, так как банк работает без выходных. Оказывается, что кредитный отдел по субботам и воскресеньям не работает, но нигде об этом не упомянуто. Дескать, то Вы должны сами дойти до этого факта методом индукции или каким Вам удобнее.&lt;/p&gt; &lt;br /&gt;  &lt;p&gt;Пришел в четвертый раз раненько. Очередь не большая, да и двигалась довольно быстро. Потому, что 70% вошедших были переназначены на другой раз ибо карта еще не готова. Подошла моя очередь. Захожу. О чудо, в центральном отделении ПриватБанка, в кредитном отделе, куда направляют клиентов со всего города - со страждущими работает только один человек. Так видимо быстрее.&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Мне любезно объяснили, что поскольку карта изъята более 2-х недель назад, она заблокирована навсегда и с этим ничего нельзя сделать. Выход один - перевыпуск карты. И все бы ничего, только за день до этого, мне была прислана SMS с уведомлением о том, что именно эта карта подключена к программе MobileBanking, и теперь &lt;b&gt;Я&lt;/b&gt; со своего мобильного телефона имею редкую возможность узнать баланс по счету. Лично &lt;b&gt;Я&lt;/b&gt; воспринял это как сарказм. Барышня с которой &lt;b&gt;Я&lt;/b&gt; общался заверила что у них организация серьезная и шуток они не шутят. Все по честному. Всем клиентам подключили данную услугу. Хотя &lt;b&gt;Я&lt;/b&gt; был бы рад если бы это была зарплатная карта, а не кредитная, которая уже не существует.&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Еще меня порадовало заполнение всех полей в форме заявления, с паспортом, идентификационным кодом и пр. Хотя там было поле "Клиент идентифицирован по карте №". То есть &lt;b&gt;Я&lt;/b&gt; мог указать просто номер зарплатной карты. Ведь у них все это добро уже есть, тем более, что до зарплатного проекта у меня ранее была личная карта в том же банке. Не говоря уже о кредитке, которую &lt;b&gt;Я&lt;/b&gt; прошу просто перевыпустить&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Вобщем не могу даже сказать что меня возмутило больше всего. Просто складывается впечатление какой-то убогости и ограниченности данного заведения. Как бы "Вот мы работаем, и лучше работать просто нельзя". Самый главный плюс в том, что через две недели мне туда опять идти забирать новую карточку.&lt;p&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;p&gt;Вышел. Ну не может же быть все так плохо. Пойду в другой банк. Тем более, что справку о доходах &lt;b&gt;Я&lt;/b&gt; взял с собой - как чувствовал, что понадобится. И отправился &lt;b&gt;Я&lt;/b&gt; в НадраБанк. Не знаю почему. Нравится название, что ли.&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Честно говоря, был приятно удивлен. Меня встретил ,видимо, охранник. Спросил чего &lt;b&gt;Я&lt;/b&gt; желаю. Посоветовал к кому обратится. Несмотря на занятость человека, к которому меня направили, мне предложили сесть и радом сидящий менеджер проконсультировал меня по всем интересующим меня вопросам. &lt;b&gt;Я&lt;/b&gt; заполнил необходимые бланки. Все уже было готово к тому моменту когда освободился интересующий меня человек. Осталось только поблагодарить друг друга и разойтись. Более того. Отойдя метров на 50 от банка, &lt;b&gt;Я&lt;/b&gt; был удивлен звонком из этого банка. Меня попросили вернутся и уточнить некоторые аспекты моей трудовой деятельность, что &lt;b&gt;Я&lt;/b&gt; с удовольствием и сделал.&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Одним словом - красота. Если бы так работали везде...&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Так, что видимо контакты с ПриватБанком придется свести к минимуму. Да и карту &lt;b&gt;Я&lt;/b&gt; вряд ли пойду забирать, уж больно много сил это требует.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-6664058600020918308?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/6664058600020918308/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=6664058600020918308' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/6664058600020918308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/6664058600020918308'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2008/07/blog-post.html' title='Кредиты, кредиты, кредиты...'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-2660283750013452529</id><published>2008-06-01T22:03:00.006+03:00</published><updated>2008-12-13T03:40:42.988+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Протокол'/><title type='text'>Код Манчестер и автоматное программирование</title><content type='html'>&lt;p&gt;&lt;br /&gt;Как известно, код Манчестер используется в случаях когда необходимо поддерживать равной нулю постоянную составляющую не шине и обеспечить автоподстройку скорости обмена. Как правило это востребовано при реализации физического уровня протокола через радиоэфир. &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Сущность данного кода заключается в следующем: за логический ноль принимается спад напряжения из высокого в низкий уровень в середине временного интервала, который отведен для передачи одного бита, а логической единицей является перепад напряжения из низкого в высокий уровень в это же время.&lt;br /&gt;Выглядит это примерно так:&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0eGcjuTqsDw/SEL2W6saKsI/AAAAAAAAABg/PUsyf34rL5w/s1600-h/123.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_0eGcjuTqsDw/SEL2W6saKsI/AAAAAAAAABg/PUsyf34rL5w/s320/123.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5206994992766790338" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Как видно из рисунка, спады и фронты возможны как в начале так и в середине интервала, поэтому реализовать данный алгоритм довольно непросто. Но использование конечных автоматов делает программирование таких задач очень прозрачным и быстрым.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/p&gt;Просмотреть мою версию автомата низкого уровня (канального) можно &lt;a href="http://depositfiles.com/files/6695488"&gt;сдесь&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;При проектировании данного автомата для удобства была использована биржевая терминология:&lt;br /&gt;Медведь - спад вниз&lt;br /&gt;Бык - фронт вверх &lt;br /&gt;&lt;br /&gt;Для обозначения моментов времени прихода импульсов (начало либо середина интервала) были использованы ассоциации с временем суток:&lt;br /&gt;Начало - утро&lt;br /&gt;Середина - вечер&lt;br /&gt;&lt;br /&gt;Таким образом, состояния автомата носят довольно поэтичный характер, например "Ожидание утреннего медведя" :-)&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Код, реализующий предложенный автомат, содержит всего одну функцию, которая вызывается по таймеру.Число этих вызовов в течении одного состояния автомата, а так же их частота определяет скорость передачи&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="c" style="font-family: monospace; color: #000000;"&gt;&lt;span style="color: #993333;"&gt;void&lt;/span&gt; interrupt&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #993333;"&gt;void&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stWait = 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #808080; font-style: italic;"&gt;/*High level FSM-states*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stPreambRecieving = 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stAdressRecieving = 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stDataRecieving&amp;nbsp;&amp;nbsp; = 3;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stCRCRecieving&amp;nbsp;&amp;nbsp; &amp;nbsp;= 4;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stCRCCalculating&amp;nbsp; = 5;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stRecievingError&amp;nbsp; = 6;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #808080; font-style: italic;"&gt;/*Low level FSM-states*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stListernBeforeHightLevel &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; = 1;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stWaitForMorningBear&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; = 2;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stListernAfterLowLevel&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; = 3;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stWaitForEveningBull&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;= 4;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stListernBeforeLowLevel&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= 5;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stWaitForMorningBull&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;= 6;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stListernAfterHigthLevel &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; = 7;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stWaitForEveningBear &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; = 8;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define stError&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = 9;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define tauSet&amp;nbsp;&amp;nbsp; = 8; //Заданная длина половины интервала&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #339933;"&gt;#define deltaTau = 1; //Допустимые границы интервала&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #993333;"&gt;short&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; HL_FSM_State = stWait;&lt;br /&gt;&lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #993333;"&gt;short&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; LL_FSM_State = stWait;&lt;br /&gt;&lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #993333;"&gt;short&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; f_PacketError = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #993333;"&gt;short&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; eLogigOneRecieved&amp;nbsp; &amp;nbsp;= &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #993333;"&gt;short&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; eLogigZeroRecieved&amp;nbsp; = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #993333;"&gt;short&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; pinState&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #993333;"&gt;short&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; oldpinState&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: #993333;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;unsigned&lt;/span&gt; &lt;span style="color: #993333;"&gt;short&lt;/span&gt; &lt;span style="color: #993333;"&gt;int&lt;/span&gt; tickCntr&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #b1b100;"&gt;switch&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;HL_FSM_State&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;stWait&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;//Состояние ожидания посылки (преамбулы)&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;pinState == &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt; &amp;amp;&amp;amp; oldpinState == &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp; &amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HL_FSM_State = stPreambRecieving;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stListernBeforeHightLevel;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;stPreambRecieving&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;//Состояние приема приамбулы&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;//Вложенный автомат низкого уровня&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;switch&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;LL_FSM_State&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stListernBeforeHightLevel:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr++;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;tauSet - tickCntr&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &amp;lt;= deltaTau &lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp; &amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stWaitForMorningBear;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stWaitForMorningBear:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr++;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;pinState == &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt; &amp;amp;&amp;amp; oldpinState == &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stListernAfterLowLevel; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;tickCntr &amp;gt; deltaTau &amp;lt;&amp;lt; &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #808080; font-style: italic;"&gt;//2*deltaTau&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f_PacketError = &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;//Ошибка приема на низком уровне&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stError;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HL_FSM_State = stRecievingError; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stListernAfterLowLevel:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr++;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;tauSet - tickCntr&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &amp;lt;= deltaTau &lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stWaitForEveningBull;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/*---------------------------*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/*eLogigZeroRecieved*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/*---------------------------*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eLogigZeroRecieved = &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stWaitForEveningBull:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr++;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;pinState == &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt; &amp;amp;&amp;amp; oldpinState == &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stListernBeforeHightLevel; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;tickCntr &amp;gt; deltaTau &amp;lt;&amp;lt; &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #808080; font-style: italic;"&gt;//2*deltaTau&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = deltaTau;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stListernBeforeLowLevel;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stListernBeforeLowLevel:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr++;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;tauSet - tickCntr&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &amp;lt;= deltaTau &lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stWaitForMorningBull;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stWaitForMorningBull:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr++;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;pinState == &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt; &amp;amp;&amp;amp; oldpinState == &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stListernAfterHigthLevel; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;tickCntr &amp;gt; deltaTau &amp;lt;&amp;lt; &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #808080; font-style: italic;"&gt;//2*deltaTau&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f_PacketError = &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;//Ошибка приема на низком уровне&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stError;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; HL_FSM_State = stRecievingError; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stListernAfterHigthLevel:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr++;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;tauSet - tickCntr&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &amp;lt;= deltaTau &lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stWaitForEveningBear;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/*---------------------------*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/*eLogigOneRecieved*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/*---------------------------*/&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; eLogigOneRecieved = &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stWaitForEveningBear:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr++;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;pinState == &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt; &amp;amp;&amp;amp; oldpinState == &lt;span style="color: #cc66cc;"&gt;1&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = &lt;span style="color: #cc66cc;"&gt;0&lt;/span&gt;;&amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Обнуляем счетчик тиков&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stListernBeforeLowLevel; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;tickCntr &amp;gt; deltaTau &amp;lt;&amp;lt; &lt;span style="color: #cc66cc;"&gt;2&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;span style="color: #808080; font-style: italic;"&gt;//2*deltaTau&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tickCntr = deltaTau;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LL_FSM_State = stListernBeforeHightLevel;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; stError:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;//Если принят бит&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #b1b100;"&gt;if&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;eLogigZeroRecieved || eLogigOneRecieved&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/* В этом фрагменте необходимо забрать принятый бит*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;span style="color: #b1b100;"&gt;case&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;stAdressRecieving&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;//Состояние приема адреса&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #808080; font-style: italic;"&gt;/*Сюда может быть вложен еще один автомат низкого уровня*/&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #000000; font-weight: bold;"&gt;break&lt;/span&gt;;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;span style="color: #808080; font-style: italic;"&gt;//Далее следуют другие состояния автомата высокого уровня в зависимости от потребности&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/"  style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-2660283750013452529?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/2660283750013452529/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=2660283750013452529' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/2660283750013452529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/2660283750013452529'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2008/06/blog-post.html' title='Код Манчестер и автоматное программирование'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_0eGcjuTqsDw/SEL2W6saKsI/AAAAAAAAABg/PUsyf34rL5w/s72-c/123.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-1662360475954186599</id><published>2008-04-28T15:53:00.004+03:00</published><updated>2008-07-21T23:00:00.128+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Гитара'/><title type='text'>Настройка гитары</title><content type='html'>&lt;p&gt;Существует много способов настройки гитары. Конечно отличия между ними не большие, потому, что велосипед второй раз не изобретешь :-)&lt;br /&gt;Как правило, трудность заключается в наличии камертона или любого другого тон-генератора по которому можно хотя бы определить точку отсчета, не руководствуясь при этом советами типа "что бы струны не провисали, звучали высоко, но без дребезга".&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Я просмотрел ряд материалов в интернете по этой теме. Из всего что я видел могу порекомендовать следующий инструмент &lt;a href="http://www.guitartuneronline.ru/"&gt;guitartuneronline.ru&lt;/a&gt;. Мне понравилось как он сделан, да и простота и удобство тоже завидные. Но как быть если рядом нет интернета или, что еще сложнее, компьютера?&lt;br /&gt;Специально для этих случаев я сделал ряд звуковых файлов, которые можно записать на телефон и настраивать гитару в любых условиях, например на природе.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/6695195"&gt;E(1 струна)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/6695263"&gt;H(2 струна)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/6695277"&gt;G(3 струна)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/6695288"&gt;D(4 струна)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/6695302"&gt;A(5 струна)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://depositfiles.com/files/6695407"&gt;Все 12 полутонов первой октавы&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Все ноты сыграны в одной октаве. Кто-то может возразить, что у гитары диапазон больше чем одна октава и будет прав, но вот динамик в телефоне диктует нам свои требования. Таким образом, если бы для пятой или шестой струны я взял бы ноты в малой октаве, то никто не дал бы гарантии, что их будет удовлетворительно слышно через динамик мобильного телефона.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-1662360475954186599?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/1662360475954186599/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=1662360475954186599' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/1662360475954186599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/1662360475954186599'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2008/04/blog-post_28.html' title='Настройка гитары'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-3068962035021473871</id><published>2008-04-03T23:24:00.009+03:00</published><updated>2009-12-29T00:52:33.810+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Размышления...'/><title type='text'>Жизненный путь или "теория рупора"</title><content type='html'>&lt;p&gt;Во все времена человек пытался разобраться в окружающей его действительности. В своем сознании каждый стремится построить модель окружающего его мира, что  бы чувствовать уверенность в завтрашнем дне. Но обретая эту самую уверенность, мы невольно соглашаемся с предопределенностью событий, происходящий в жизни каждого из нас. Так перед нами встает вопрос о существовании некого "Жизненного пути". Попробуем разобраться с данным понятием используя следующие определения:&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Понятие «жизненный цикл» предполагает, что течение жизни подчинено известной закономерности, а его этапы, подобно временам года, представляют собой постоянный круговорот. Идея циклического круговорота человеческой жизни, подобного цикличности природных процессов (чередование дня и ночи, смена времен года и т.п.) – один из древнейших образов нашего сознания[&lt;a href="http://www.krugosvet.ru/articles/119/1011932/1011932a1.htm"&gt;Игорь Кон&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Жизненный путь - история формирования и развития личности в определенном обществе (биография). Жизненный путь в своей свершившейся части состоит из реализованных поступков, действий и выборов. &lt;b&gt;Образ жизненного пути&lt;/b&gt; есть в каком-то смысле материализованная часть личности человека, и следовательно выступает для него как объективная основа для переживания удовлетворенности или неудовлетворенности от собственной жизни[&lt;a href="http://azps.ru/articles/tezis/6ontogenez.html"&gt;azps.ru&lt;/a&gt;]&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Да-да, вот именно &lt;b&gt;Образ жизненного пути&lt;/b&gt;. Что это? Если это образ, то как мы его можем себе представить?&lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Давайте попробуем нарисовать рупор или усеченный конус, кому как больше нравится. В  широком его основании есть начало нашего жизненного пути, с его богатством выбора и возможностей. Путь и есть движение по этому рупору. Оно может быть однонаправленным, тоесть движением к одной цели по кратчайшему пути. А может иметь и неопределенную траекторию. &lt;/p&gt;&lt;br /&gt;  &lt;p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0eGcjuTqsDw/R_VIguds8JI/AAAAAAAAAA4/aHOV84nsZOI/s1600-h/Rupor.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_0eGcjuTqsDw/R_VIguds8JI/AAAAAAAAAA4/aHOV84nsZOI/s320/Rupor.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5185130273052618898" /&gt;&lt;/a&gt;&lt;br /&gt;  &lt;/p&gt;&lt;br /&gt;  &lt;p&gt;Многие из нас любят резкие повороты в жизни. Как часто мы слышим фразы: "начать жизнь с начала", "теперь будет все по-новому" и т.д. Эти события можно рассматривать как отклонение от курса, от кратчайшего пути, как будто мы стремимся взобраться на округлые стены рупора. Но ведь законы физики еще никто не отменял. Как только мы совершаем попытку взобраться на стену - рупор поворачивается. И все окружающее нас поворачивается вместе с ним. Вот тут-то нам кажется, что все переменилось, мир теперь совсем другой. И мы продолжаем идти новым намеченным курсом. Но самое главное здесь то, что узкий конец рупора никуда не делся, и конечная цель пути осталась прежней.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-3068962035021473871?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/3068962035021473871/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=3068962035021473871' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/3068962035021473871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/3068962035021473871'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2008/04/blog-post.html' title='Жизненный путь или &quot;теория рупора&quot;'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_0eGcjuTqsDw/R_VIguds8JI/AAAAAAAAAA4/aHOV84nsZOI/s72-c/Rupor.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-6816000199430225698</id><published>2008-01-19T00:30:00.003+02:00</published><updated>2008-03-31T21:14:26.118+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Модифицированный алгоритм Дейкстры или А* на Java</title><content type='html'>&lt;p&gt; Пришлось мне однажды заниматься алгоритмами поиска кратчайшего пути, а в частности алгоритмом, известным как &lt;b&gt;А*&lt;/b&gt;. Дело все в том, что как учит нас &lt;a href="http://ru.wikipedia.org"&gt;Википедия&lt;/a&gt;, алгоритм Дейкстры предназначен для поиска кратчайшего расстояния от некоторой вершины &lt;b&gt;простого взвешенного графа&lt;/b&gt; до всех остальных вершин этого графа. Но когда у Вас имеется не граф а некое поле, условно называемое картой, то данный алгоритм несколько меняется. Алгоритм А* неплохо описан в статье Алексея Моисеева "Алгоритм обхода препятствий" (&lt;a href="http://delphiworld.narod.ru/"&gt;Delphi World&lt;/a&gt;).&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; Моя реализация алгоритма состоит из пяти классов, приведенных ниже. Возможно многие вещи можно было бы сделать и более ровными руками, но, как говориться, какие есть :-)&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="java5"  style="color: rgb(0, 0, 0);font-family:monospace; border: 1px solid gray; padding: 1em;"&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/*&lt;br /&gt;* CustomCell.java&lt;br /&gt;*&lt;br /&gt;* Created on 18 Август 2007 г., 0:21&lt;br /&gt;*&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author _shef_&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;awt&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;*&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;class&lt;/span&gt; CustomCell &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Creates a new instance of CustomCell */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; CustomCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Конструктор создающий слетку по переданным&lt;br /&gt;    *  координатам и стоимости проходжения&lt;br /&gt;    *  @param  cost - стоимость прохождения&lt;br /&gt;    *          если стоимость меньше нуля - клетка не проходима&lt;br /&gt;    *          x, y - координаты&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; CustomCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; cost, &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; x, &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; y&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Cost&lt;/span&gt; = &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Math.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Math&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;abs&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;cost&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;100&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;100&lt;/span&gt;,&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;255&lt;/span&gt;/Cost&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;cost &amp;lt; &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Passableness&lt;/span&gt; = &lt;span style="color: rgb(177, 51, 102);"&gt;false&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;BLACK&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(177, 177, 0);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Passableness&lt;/span&gt; = &lt;span style="color: rgb(177, 51, 102);"&gt;true&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setPosition&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x, y&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;     &lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; Cost = &lt;span style="color: rgb(204, 102, 204);"&gt;1.0&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Проходимость клетки&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;boolean&lt;/span&gt; Passableness = &lt;span style="color: rgb(177, 51, 102);"&gt;true&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод информирует о том проходима клетка или нет&lt;br /&gt;    *  @return true - клетка проходима&lt;br /&gt;    *          false - клетка не проходима&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;boolean&lt;/span&gt; isPassable&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Passableness&lt;/span&gt;;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод устанавливает проходимость клетки&lt;br /&gt;    *  @param   true - клетка проходима&lt;br /&gt;    *           false - клетка не проходима&lt;br /&gt;    */&lt;/span&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; setPassableness&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;boolean&lt;/span&gt; Passableness&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Passableness&lt;/span&gt; = Passableness;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Положение клетки&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt; = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**Метод устанавливает координаты клетки&lt;br /&gt;    *  через переданный обьект Point&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; setPosition &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt; = &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**Метод возвращает координаты клетки&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; getPosition&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**Метод устанавливает координаты клетки&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; setPosition &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; X, &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; Y&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt; = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;X,Y&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**Метод возвращает абсциссу клетки&lt;br /&gt;    */&lt;/span&gt;  &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; getX&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**Метод возвращает ординату клетки&lt;br /&gt;    */&lt;/span&gt;    &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; getY&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**Метод отображает клетку на переданном контексте&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; paint&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Graphics.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Graphics&lt;/span&gt;&lt;/a&gt; g&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; x = g.&lt;span style="color: rgb(0, 102, 0);"&gt;getClipBounds&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; + &lt;span style="color: rgb(204, 102, 204);"&gt;20&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; y = g.&lt;span style="color: rgb(0, 102, 0);"&gt;getClipBounds&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; + &lt;span style="color: rgb(204, 102, 204);"&gt;20&lt;/span&gt;;&lt;br /&gt;   g.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   g.&lt;span style="color: rgb(0, 102, 0);"&gt;fillRect&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x+getX&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;*&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;, y+getY&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;*&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;, &lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;, &lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;String&lt;/span&gt;&lt;/a&gt; toString&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"("&lt;/span&gt;+ getX&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + &lt;span style="color: rgb(255, 0, 0);"&gt;";"&lt;/span&gt; + getY&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; +&lt;span style="color: rgb(255, 0, 0);"&gt;"):&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;\n&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;               + &lt;span style="color: rgb(255, 0, 0);"&gt;"Passableness: "&lt;/span&gt; + isPassable&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + &lt;span style="color: rgb(255, 0, 0);"&gt;"&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;\n&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Цвет клетки&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt; =  &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;255&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;255&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;255&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; setColor&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt; = &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt; getColor&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="java5"  style="color: rgb(0, 0, 0);font-family:monospace; border: 1px solid gray; padding: 1em;"&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/*&lt;br /&gt; * DeicstraCell.java&lt;br /&gt; *&lt;br /&gt; * Created on 20 Август 2007 г., 0:03&lt;br /&gt; *&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author 222&lt;br /&gt; */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;awt&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;*&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;class&lt;/span&gt; DeicstraCell &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Creates a new instance of DeicstraCell */&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; DeicstraCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell ParentCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;ParentCell&lt;/span&gt; = ParentCell;&lt;br /&gt;        &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;ParentCell.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;            &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_NOVISITED&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;            &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//System.out.println(ParentCell.toString());&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;   &lt;span style="color: rgb(177, 177, 0);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_BORDER&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; CustomCell getParentCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;ParentCell&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; getCoast&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getParentCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Cost&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Клетка предшественник, т.е. та из которой пришли&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; DeicstraCell Predecessor;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; setPredecessor &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;DeicstraCell Predecessor&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Predecessor&lt;/span&gt; = Predecessor;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; DeicstraCell getPredecessor&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Predecessor&lt;/span&gt;;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Константы статуса клетки &lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;final&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; STATUS_NOVISITED=&lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//непосещенная&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;final&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; STATUS_BORDER=&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;final&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; STATUS_OFFCAST=&lt;span style="color: rgb(204, 102, 204);"&gt;3&lt;/span&gt;;     &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//отброшенная&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;final&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; STATUS_BARRIER=&lt;span style="color: rgb(204, 102, 204);"&gt;4&lt;/span&gt;;     &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//граничная&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Статус клетки&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; Status = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_NOVISITED&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; setStatus&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; Status&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Status&lt;/span&gt; = Status;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; getStatus&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;Status&lt;/span&gt;;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Пройденный путь&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; PassedWay =&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; setPassedWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; PassedWay&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;PassedWay&lt;/span&gt; = PassedWay;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; getPassedWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;PassedWay&lt;/span&gt;;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Оставшийся путь&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; ResiduaryWay = &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; setResiduaryWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; ResiduaryWay&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;ResiduaryWay&lt;/span&gt; = ResiduaryWay;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; getResiduaryWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;ResiduaryWay&lt;/span&gt;;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Сумарный путь&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; getSummaryWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getPassedWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + getResiduaryWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Положение клетки&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/text/Position.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Position&lt;/span&gt;&lt;/a&gt; = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; getPosition&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;ParentCell&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getPosition&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; getX&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getPosition&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; getY&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getPosition&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;   &lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;String&lt;/span&gt;&lt;/a&gt; toString&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"("&lt;/span&gt;+ getX&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + &lt;span style="color: rgb(255, 0, 0);"&gt;";"&lt;/span&gt; + getY&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; +&lt;span style="color: rgb(255, 0, 0);"&gt;"):&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;\n&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;            + &lt;span style="color: rgb(255, 0, 0);"&gt;"Status: "&lt;/span&gt; + getStatus&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + &lt;span style="color: rgb(255, 0, 0);"&gt;"&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;\n&lt;/span&gt;"&lt;/span&gt;&lt;br /&gt;            + &lt;span style="color: rgb(255, 0, 0);"&gt;"MaxWay:"&lt;/span&gt; + getSummaryWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;    &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; CustomCell ParentCell = &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="java5"  style="color: rgb(0, 0, 0);font-family:monospace; border: 1px solid gray; padding: 1em;"&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/*&lt;br /&gt;* DeicstraArea.java&lt;br /&gt;*&lt;br /&gt;* Created on 21 Август 2007 г., 22:54&lt;br /&gt;*&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author 222&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;awt&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;*&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;util&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;*&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;lang&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;*&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;class&lt;/span&gt; DeicstraArea &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Creates a new instance of DeicstraArea */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; DeicstraArea&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;  &lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;static&lt;/span&gt; DeicstraArea instance = &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод необходим для реализации шаблона Singletton&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;static&lt;/span&gt; DeicstraArea getInstance&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;instance == &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; instance = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; DeicstraArea&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; instance;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод создает внутренний образ карты переданной&lt;br /&gt;    *  в виде массива значений стоимости прохождения клети&lt;br /&gt;    *  без вызова этого метода работа с данным класом&lt;br /&gt;    *  не имеет смысла&lt;br /&gt;    *  @param  Массив передаеться в формате area[x][y]&lt;br /&gt;    *          Отрицательные значения стоимости расцениваються&lt;br /&gt;    *          как непроходимые клетки&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; makeArea&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt; area&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;area.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt; == &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt; = area.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt; = area&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;length&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; y=&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;; y&amp;lt;heigth; y++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; x=&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;; x&amp;lt;width; x++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               CustomCell cell = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; CustomCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;area&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;x&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;y&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;, x, y&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;area&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;cell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;      &lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает ссылку на клетку внутреннего&lt;br /&gt;    * образа карты по переданным координатам x и y&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; CustomCell getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; x, &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; y&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;area&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;get&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y*&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt; + x&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает ссылку на клетку Дейкстры&lt;br /&gt;    *  по переданным координатам и карте клеток Дейкстры&lt;br /&gt;    *  @param  x, y - координаты клетки&lt;br /&gt;    *          area - ссылка на созданный вектор-образ&lt;br /&gt;    *          карты состоящий из клеток класса DeicstraCell&lt;br /&gt;&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; DeicstraCell getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; x, &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; y, &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;DeicstraCell&amp;gt; area&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;DeicstraCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; area.&lt;span style="color: rgb(0, 102, 0);"&gt;get&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y*&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt; + x&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает список состоящий из клеток&lt;br /&gt;    *  на которые может шагнуть герой (по кретсу)&lt;br /&gt;    *  из переданной ссылке на клетку из&lt;br /&gt;    *  внутреннего образа карты&lt;br /&gt;    *  @param  cell - клетка в которой находиться герой&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; getEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell cell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; getEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;cell, ENVIROMENT_MODEL_CROSS&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает список состоящий из клеток Дейкстры&lt;br /&gt;    *  на которые может шагнуть герой (по кретсу)&lt;br /&gt;    *  из переданной клетки Дейкстры&lt;br /&gt;    *  @param  cell - клетка в которой находиться герой&lt;br /&gt;    *          area - ссылка на созданный вектор-образ&lt;br /&gt;    *          карты состоящий из клеток класса DeicstraCell&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; getEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;DeicstraCell cell, &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;DeicstraCell&amp;gt; area&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; getEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;cell, area, ENVIROMENT_MODEL_CROSS&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает список состоящий из клеток&lt;br /&gt;    *  на которые может шагнуть герой&lt;br /&gt;    *  в соответствии с переданной моделью (крест,снежинка)&lt;br /&gt;    *  из переданной клетки&lt;br /&gt;    *  @param  cell - клетка в которой находиться герой&lt;br /&gt;    *          enviromentModel - одна из моделей:&lt;br /&gt;    *                  снежинка -  ENVIROMENT_MODEL_SNOWFLAKE = 1;&lt;br /&gt;    *                  крест    -  ENVIROMENT_MODEL_CROSS = 2;  &lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt;  &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; getEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell cell, &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; enviromentModel&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; x = cell.&lt;span style="color: rgb(0, 102, 0);"&gt;getX&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; y = cell.&lt;span style="color: rgb(0, 102, 0);"&gt;getY&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x &amp;gt;= &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;|| &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y &amp;gt;= &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; tempAL = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;    &lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Up&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x, y&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Right &lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, y &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Down&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x, y&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Left&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;, y &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;enviromentModel == ENVIROMENT_MODEL_SNOWFLAKE&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Left-Up&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;, y&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Down-Left&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;, y&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;          &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Right-Down&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, y&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;          &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Up-Right&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, y&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; tempAL;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает список состоящий из клеток Дейкстры&lt;br /&gt;    *  на которые может шагнуть герой&lt;br /&gt;    *  в соответствии с переданной моделью (крест,снежинка)&lt;br /&gt;    *  из переданной клетки Дейкстры&lt;br /&gt;    *  @param  cell - клетка в которой находиться герой&lt;br /&gt;    *          area - ссылка на созданный вектор-образ&lt;br /&gt;    *          карты состоящий из клеток класса DeicstraCell&lt;br /&gt;    *          enviromentModel - одна из моделей:&lt;br /&gt;    *                  снежинка -  ENVIROMENT_MODEL_SNOWFLAKE = 1;&lt;br /&gt;    *                  крест    -  ENVIROMENT_MODEL_CROSS = 2;&lt;br /&gt;    */&lt;/span&gt;   &lt;br /&gt;    &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt;  &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; getEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;DeicstraCell Cell, &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;DeicstraCell&amp;gt; area, &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; enviromentModel&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; x = Cell.&lt;span style="color: rgb(0, 102, 0);"&gt;getX&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; y = Cell.&lt;span style="color: rgb(0, 102, 0);"&gt;getY&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x &amp;gt;= &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;|| &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y &amp;gt;= &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; tempAL = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;    &lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Up&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x, y&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;, area &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Right &lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, y, area &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Down&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x, y&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, area &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Left&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;, y, area &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;      &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;enviromentModel == ENVIROMENT_MODEL_SNOWFLAKE&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Left-Up&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;, y&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;,  area &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Down-Left&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;, y&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, area &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;          &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Right-Down&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;heigth&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, y&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, area &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;          &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Up-Right&lt;/span&gt;&lt;br /&gt;          &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;y != &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;x != &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;width&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; x&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;, y&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;, area &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;      &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; tempAL;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;  &lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает координаты переданной клетки&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; getPosition&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell cell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; cell.&lt;span style="color: rgb(0, 102, 0);"&gt;getPosition&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает список состоящий из ПРОХОДИМЫХ клеток&lt;br /&gt;    *  на которые может шагнуть герой&lt;br /&gt;    *  в соответствии с переданной моделью (крест,снежинка)&lt;br /&gt;    *  из переданной клетки&lt;br /&gt;    *  cell - клетка в которой находиться герой&lt;br /&gt;    */&lt;/span&gt;  &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; getCleanEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell cell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; tempAL = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getEnvironment&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;cell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; outAL = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;      &lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Iterator.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Iterator&lt;/span&gt;&lt;/a&gt; tempI = tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;iterator&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       CustomCell tempCC;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; tempI.&lt;span style="color: rgb(0, 102, 0);"&gt;hasNext&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           tempCC = &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;tempI.&lt;span style="color: rgb(0, 102, 0);"&gt;next&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempCC.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; outAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempCC&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; outAL;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод возвращает список состоящий из НЕПОСЕЩЕННЫХ клеток Дейкстры&lt;br /&gt;    *  на которые может шагнуть герой&lt;br /&gt;    *  в соответствии с переданной моделью (крест,снежинка)&lt;br /&gt;    *  из переданной клетки Дейкстры&lt;br /&gt;    *  @param  cell - клетка в которой находиться герой&lt;br /&gt;    *          area - ссылка на созданный вектор-образ&lt;br /&gt;    *          карты состоящий из клеток класса DeicstraCell&lt;br /&gt;    */&lt;/span&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; getCleanEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;DeicstraCell cell, &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; area&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;      &lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; tempAL = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getEnvironment&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;cell, area&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; outAL = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Iterator.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Iterator&lt;/span&gt;&lt;/a&gt; tempI = tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;iterator&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       DeicstraCell tempDC;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; tempI.&lt;span style="color: rgb(0, 102, 0);"&gt;hasNext&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           tempDC = &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;DeicstraCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;tempI.&lt;span style="color: rgb(0, 102, 0);"&gt;next&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempDC.&lt;span style="color: rgb(0, 102, 0);"&gt;getStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; == tempDC.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_NOVISITED&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                  &lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;           outAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempDC&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; outAL;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод реализует алгоритм поиска пути&lt;br /&gt;    *  и возвращает маршрут - список, состоящий&lt;br /&gt;    *  из координат точек, которые необходимо посетить,&lt;br /&gt;    *  что бы добраться от точки startCell&lt;br /&gt;    *  до точки finishCell&lt;br /&gt;    *  @param  startPoint - начальная точка пути&lt;br /&gt;    *          finishPoint - конечная точка пути&lt;br /&gt;    *  @return возвращает ArrayList состоящий из обьектов Point&lt;br /&gt;    *          если путь не найден возвращает null      &lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt;  &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; findWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; startPoint, &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; finishPoint&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;throws&lt;/span&gt; NoWayException &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Создаем временные области&lt;/span&gt;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;DeicstraCell&amp;gt;  tempArea = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;DeicstraCell&amp;gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;  &amp;lt;DeicstraCell&amp;gt; BarrierList = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;DeicstraCell&amp;gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       DeicstraCell STARTCELL = &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;       DeicstraCell FINISHCELL = &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Получаем ссылки на начальную и конечные клетки&lt;/span&gt;&lt;br /&gt;       CustomCell startCell = getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;startPoint.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;, startPoint.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       CustomCell finishCell = getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;finishPoint.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;, finishPoint.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Производим создание вектора образа карты состоящий из обьектов&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;// класса DeicstraCell&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell TEMPCELL : area&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           DeicstraCell tempDC = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; DeicstraCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;TEMPCELL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;TEMPCELL == startCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; STARTCELL = tempDC;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;TEMPCELL == finishCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; FINISHCELL = tempDC;&lt;br /&gt;           tempArea.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempDC&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Обьявляем обект ссылку на который метод вернет в результате&lt;/span&gt;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;  retAL = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Для начальной точки делаем предшественника её саму&lt;/span&gt;&lt;br /&gt;       STARTCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;setPredecessor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;STARTCELL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Пройденый путь начальной точки равен ее стоимости&lt;/span&gt;&lt;br /&gt;       STARTCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;setPassedWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;STARTCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;getCoast&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Начальная и конечная точки должны иметь статус непосещенных&lt;/span&gt;&lt;br /&gt;       STARTCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;setStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;STARTCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_NOVISITED&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       FINISHCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;setStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;FINISHCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_NOVISITED&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Помечаем начальную точку как граничную&lt;/span&gt;&lt;br /&gt;       STARTCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;setStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;STARTCELL.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_BARRIER&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Очищаем список граничных точек&lt;/span&gt;&lt;br /&gt;       BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;clear&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Помещаем в него начальную точку&lt;/span&gt;&lt;br /&gt;       BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;STARTCELL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       DeicstraCell minCC = &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;       DeicstraCell tempCC = &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;!BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;isEmpty&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Среди всех граничных точек находим Клетку1 - клетку с минимальной суммой оценки &lt;/span&gt;&lt;br /&gt;           minCC = findOfBorderList&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;BarrierList&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//если таковая точка не найдена - пути быть не может&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC == &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               NoWayException e = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; NoWayException&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"Way can not be fined!"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;throw&lt;/span&gt; e;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Для найденной клетки с минимальной суммой оценки рассматриваем соседей&lt;/span&gt;&lt;br /&gt;           &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;DeicstraCell&amp;gt; tempAL = getCleanEnvironment&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC, tempArea&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Если соседей нет&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempAL ==&lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;||&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempAL.&lt;span style="color: rgb(0, 102, 0);"&gt;isEmpty&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Пометить найденную клетку как отброшенную&lt;/span&gt;&lt;br /&gt;               minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;setStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_OFFCAST&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//и удалить ее из списка граничных точек&lt;/span&gt;&lt;br /&gt;               BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Перейти к новому поиску точки с минимальной суммой оценки&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//из списка граничных точек&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Если сосед имеет статус непосещенного,&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//а все клетки возвращенные методом getCleanEnvironment()&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//таковыми и являються, то для каждого из них&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; DeicstraCell dCell : tempAL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//то мы обозначаеми его (соседа) как граничную клетку,&lt;/span&gt;&lt;br /&gt;               dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;setStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_BARRIER&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//добавляем в список граничных точек&lt;/span&gt;&lt;br /&gt;               BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;dCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//и указываем Клетку1 как предыдущую для него.&lt;/span&gt;&lt;br /&gt;               dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;setPredecessor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Оцениваем соседей как сумму предшественника и стоимости самого соседа&lt;/span&gt;&lt;br /&gt;               dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;setPassedWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;getPassedWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; + dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getCoast&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Находим оставшийся путь как длину вектора до фониша&lt;/span&gt;&lt;br /&gt;               dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;setResiduaryWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Math.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Math&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;sqrt&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getX&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; - finishCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getX&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;*&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getX&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; - finishCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getX&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;                   + &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getY&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; - finishCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getY&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;*&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getY&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; - finishCell.&lt;span style="color: rgb(0, 102, 0);"&gt;getY&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Если сосед - это финиш, то путь найден&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;dCell.&lt;span style="color: rgb(0, 102, 0);"&gt;equals&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;FINISHCELL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//System.out.println("WayFinded");&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Трассировка пути&lt;/span&gt;&lt;br /&gt;                   &lt;span style="color: rgb(177, 177, 0);"&gt;while&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;!minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;getPredecessor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;equals&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;STARTCELL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                       retAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;getParentCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getPosition&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                       minCC = minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;getPredecessor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;          &lt;br /&gt;                   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;                   retAL.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;getParentCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;getPosition&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; retAL;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Рассматриваемую Клетку помечаем как отброшенную.&lt;/span&gt;&lt;br /&gt;           minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;setStatus&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;STATUS_OFFCAST&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//удаляем из списка граничных точек&lt;/span&gt;&lt;br /&gt;           BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;minCC&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//если граничных точек больше нет - то путь не найден&lt;/span&gt;&lt;br /&gt;      &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;// if (BarrierList.isEmpty()) System.err.println("No Way!");&lt;/span&gt;&lt;br /&gt;       NoWayException e = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; NoWayException&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;"Way can not be fined!"&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;throw&lt;/span&gt; e;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод находит  клетку с минимальной суммой оценки&lt;br /&gt;    * среди всех граничных точек из списка&lt;br /&gt;    *  @param  BarrierList - список граничных точек&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; DeicstraCell findOfBorderList&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt;  &amp;lt;DeicstraCell&amp;gt;  BarrierList&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;isEmpty&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Iterator.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Iterator&lt;/span&gt;&lt;/a&gt; tempI = BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;iterator&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       DeicstraCell tempCC, minCC = BarrierList.&lt;span style="color: rgb(0, 102, 0);"&gt;get&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; minSO = minCC.&lt;span style="color: rgb(0, 102, 0);"&gt;getSummaryWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(153, 51, 51);"&gt;double&lt;/span&gt; tempSO = &lt;span style="color: rgb(204, 102, 204);"&gt;0.0&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;while&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempI.&lt;span style="color: rgb(0, 102, 0);"&gt;hasNext&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           tempCC = &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;DeicstraCell&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;tempI.&lt;span style="color: rgb(0, 102, 0);"&gt;next&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           tempSO = tempCC.&lt;span style="color: rgb(0, 102, 0);"&gt;getSummaryWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempSO &amp;lt; minSO&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               minSO = tempSO;&lt;br /&gt;               minCC = tempCC;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; minCC;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**  Метод немного оптимизирует путь найденый методом findWay&lt;br /&gt;    *  оптимизация исключает из пути углы где это возможно&lt;br /&gt;    *  @param  way - путь, последовательность точек класса Point&lt;br /&gt;    */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; optimizeWay&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;Point&amp;gt; way&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;way == &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;way.&lt;span style="color: rgb(0, 102, 0);"&gt;size&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(204, 102, 204);"&gt;3&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; way;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; p1,p2,p3;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;Point&amp;gt; retWay = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;Point&amp;gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; i=&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;; i&amp;lt;way.&lt;span style="color: rgb(0, 102, 0);"&gt;size&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-3&lt;/span&gt;; i++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           p1 = way.&lt;span style="color: rgb(0, 102, 0);"&gt;get&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           p2 = way.&lt;span style="color: rgb(0, 102, 0);"&gt;get&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           p3 = way.&lt;span style="color: rgb(0, 102, 0);"&gt;get&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;         &lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p2 p3&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p1 &lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;,p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   way.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;             &lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p2 p1&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p3 &lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;,p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   way.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;             &lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p1 p2&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//     p3 &lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;,p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   way.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;             &lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p3 p2&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//     p1 &lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;,p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   way.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;             &lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//     p1&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p3 p2&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;,p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   way.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;             &lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//     p3&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p1 p2&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;-1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;,p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   way.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;             &lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p3&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p2 p1&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;,p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   way.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;             &lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p1&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//  p2 p3&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt; == p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;amp;&amp;amp;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt; == p2.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;getCell&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;p3.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;,p1.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;isPassable&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;                   way.&lt;span style="color: rgb(0, 102, 0);"&gt;remove&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;i&lt;span style="color: rgb(204, 102, 204);"&gt;+1&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;                   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;continue&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;             &lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;return&lt;/span&gt; way;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Метод отображает все клетки на переданном&lt;br /&gt;    * в качестве параметра контексте&lt;br /&gt;    *&lt;br /&gt;    */&lt;/span&gt;  &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; paint&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Graphics.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Graphics&lt;/span&gt;&lt;/a&gt; g&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;CustomCell tempCC : &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;area&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           tempCC.&lt;span style="color: rgb(0, 102, 0);"&gt;paint&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;g&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Модели окружения&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;final&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; ENVIROMENT_MODEL_SNOWFLAKE = &lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;final&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; ENVIROMENT_MODEL_CROSS = &lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Внутренний образ карты&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;CustomCell&amp;gt;  area = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ArrayList&lt;/span&gt;&lt;/a&gt; &amp;lt;CustomCell&amp;gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//Длинна и ширина образа&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt;  &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; width = &lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt;  &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; heigth = &lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="java5"  style="color: rgb(0, 0, 0);font-family:monospace; border: 1px solid gray; padding: 1em;"&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/*&lt;br /&gt;* NoWayException.java&lt;br /&gt;*&lt;br /&gt;* Created on 29 Август 2007 г., 0:25&lt;br /&gt;*&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author 222&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;class&lt;/span&gt; NoWayException &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;extends&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Exception&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Creates a new instance of NoWayException */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; NoWayException&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;String&lt;/span&gt;&lt;/a&gt; msg&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;super&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;msg&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="java5"  style="color: rgb(0, 0, 0);font-family:monospace; border: 1px solid gray; padding: 1em;"&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/*&lt;br /&gt;* TestClass.java&lt;br /&gt;*&lt;br /&gt;* Created on 18 Август 2007 г., 19:12&lt;br /&gt;*&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/**&lt;br /&gt;*&lt;br /&gt;* @author _shef_&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;awt&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;event&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowEvent.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowEvent&lt;/span&gt;&lt;/a&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;awt&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;event&lt;/span&gt;.&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowListener.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowListener&lt;/span&gt;&lt;/a&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; javax.&lt;span style="color: rgb(0, 102, 0);"&gt;swing&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;*&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;awt&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;*&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;import&lt;/span&gt; java.&lt;span style="color: rgb(0, 102, 0);"&gt;util&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;*&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//import java.lang.*;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;class&lt;/span&gt; TestClass &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;extends&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;JFrame&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;implements&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowListener.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowListener&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;/** Creates a new instance of TestClass */&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; TestClass&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;super&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;       addWindowListener&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       setSize&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;600&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;600&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;JPanel&lt;/span&gt;&lt;/a&gt; P = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;JPanel&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; paintComponent&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Graphics.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Graphics&lt;/span&gt;&lt;/a&gt; g&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;              DeicstraArea.&lt;span style="color: rgb(0, 102, 0);"&gt;getInstance&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;paint&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;g&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;       getContentPane&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;add&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;P&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;       createArea&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       createZone&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;       CustomCell tempCC;&lt;br /&gt;       DeicstraArea tempA = DeicstraArea.&lt;span style="color: rgb(0, 102, 0);"&gt;getInstance&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;makeArea&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;area&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       ArrayList&amp;lt;Point&amp;gt; tempAL = &lt;span style="color: rgb(177, 51, 102);"&gt;null&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;try&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           tempAL = tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;findWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;width&lt;span style="color: rgb(204, 102, 204);"&gt;-2&lt;/span&gt;, heigth&lt;span style="color: rgb(204, 102, 204);"&gt;-2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;, &lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           tempAL = tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;optimizeWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;tempAL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; point : tempAL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;getCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;point.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;, point.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;GREEN&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;catch&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;NoWayException ex&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JOptionPane.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;JOptionPane&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;showMessageDialog&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;&lt;br /&gt;               ,&lt;span style="color: rgb(255, 0, 0);"&gt;"Путь 1 не найден!"&lt;/span&gt;,&lt;span style="color: rgb(255, 0, 0);"&gt;"Внимание"&lt;/span&gt;&lt;br /&gt;               ,&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JOptionPane.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;JOptionPane&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;INFORMATION_MESSAGE&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;     &lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;try&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;         &lt;br /&gt;           tempAL = tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;findWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;width&lt;span style="color: rgb(204, 102, 204);"&gt;-2&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;,&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;,heigth&lt;span style="color: rgb(204, 102, 204);"&gt;-2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt; point : tempAL&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;getCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;point.&lt;span style="color: rgb(0, 102, 0);"&gt;x&lt;/span&gt;, point.&lt;span style="color: rgb(0, 102, 0);"&gt;y&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;GREEN&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;catch&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;NoWayException ex&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JOptionPane.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;JOptionPane&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;showMessageDialog&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;&lt;br /&gt;               ,&lt;span style="color: rgb(255, 0, 0);"&gt;"Путь 2 не найден!"&lt;/span&gt;,&lt;span style="color: rgb(255, 0, 0);"&gt;"Внимание"&lt;/span&gt;&lt;br /&gt;               ,&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JOptionPane.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;JOptionPane&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;INFORMATION_MESSAGE&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//&lt;/span&gt;&lt;br /&gt;       tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;getCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;RED&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;getCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;width&lt;span style="color: rgb(204, 102, 204);"&gt;-2&lt;/span&gt;,heigth&lt;span style="color: rgb(204, 102, 204);"&gt;-2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;RED&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;getCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;,heigth&lt;span style="color: rgb(204, 102, 204);"&gt;-2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;RED&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;getCell&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;width&lt;span style="color: rgb(204, 102, 204);"&gt;-2&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;setColor&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Color.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Color&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;RED&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       show&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;     &lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://www.google.com/search?sitesearch=java.sun.com&amp;amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Date"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Date&lt;/span&gt;&lt;/a&gt; DS = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.google.com/search?sitesearch=java.sun.com&amp;amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Date"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Date&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; i=&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;; i&amp;lt;&lt;span style="color: rgb(204, 102, 204);"&gt;100&lt;/span&gt;; i++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;try&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               tempAL = tempA.&lt;span style="color: rgb(0, 102, 0);"&gt;findWay&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;12&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;,&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Point.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Point&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;2&lt;/span&gt;,&lt;span style="color: rgb(204, 102, 204);"&gt;12&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;catch&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;NoWayException ex&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//ex.printStackTrace();&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://www.google.com/search?sitesearch=java.sun.com&amp;amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Date"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Date&lt;/span&gt;&lt;/a&gt; DE = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://www.google.com/search?sitesearch=java.sun.com&amp;amp;q=allinurl%3Aj2se%2F1+5+0%2Fdocs%2Fapi+Date"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Date&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(128, 128, 128); font-style: italic;"&gt;//int DR = DE.getSeconds() - DS.getSeconds();&lt;/span&gt;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;out&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;println&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt; DE.&lt;span style="color: rgb(0, 102, 0);"&gt;getMinutes&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; - DS.&lt;span style="color: rgb(0, 102, 0);"&gt;getMinutes&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;out&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;println&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;DS.&lt;span style="color: rgb(0, 102, 0);"&gt;getSeconds&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;+&lt;span style="color: rgb(255, 0, 0);"&gt;":"&lt;/span&gt;+DE.&lt;span style="color: rgb(0, 102, 0);"&gt;getSeconds&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; main&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;String&lt;/span&gt;&lt;/a&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt; args&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;throws&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassNotFoundException.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;ClassNotFoundException&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; TestClass&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;      &lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; windowOpened&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowEvent.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowEvent&lt;/span&gt;&lt;/a&gt; e&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; windowClosing&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowEvent.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowEvent&lt;/span&gt;&lt;/a&gt; e&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;System&lt;/span&gt;&lt;/a&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;exit&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; windowClosed&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowEvent.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowEvent&lt;/span&gt;&lt;/a&gt; e&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;      &lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; windowIconified&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowEvent.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowEvent&lt;/span&gt;&lt;/a&gt; e&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; windowDeiconified&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowEvent.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowEvent&lt;/span&gt;&lt;/a&gt; e&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; windowActivated&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowEvent.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowEvent&lt;/span&gt;&lt;/a&gt; e&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; windowDeactivated&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/WindowEvent.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;WindowEvent&lt;/span&gt;&lt;/a&gt; e&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; createZone&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; zoneCost&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; i=&lt;span style="color: rgb(204, 102, 204);"&gt;15&lt;/span&gt;; i&amp;lt;&lt;span style="color: rgb(204, 102, 204);"&gt;25&lt;/span&gt;; i++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; j=&lt;span style="color: rgb(204, 102, 204);"&gt;15&lt;/span&gt;; j&amp;lt;&lt;span style="color: rgb(204, 102, 204);"&gt;25&lt;/span&gt;; j++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;area&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt; = zoneCost;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;void&lt;/span&gt; createArea&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;       &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Random.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Random&lt;/span&gt;&lt;/a&gt; rand = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;a style="text-decoration: none;" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Random.html"&gt;&lt;span style="color: rgb(170, 170, 221); font-weight: bold;"&gt;Random&lt;/span&gt;&lt;/a&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;;&lt;br /&gt;       &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; i=&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;; i&amp;lt;width; i++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;           &lt;span style="color: rgb(177, 177, 0);"&gt;for&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; j=&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;; j&amp;lt;heigth; j++&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;{&lt;/span&gt;&lt;br /&gt;               &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;area&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt; = &lt;span style="color: rgb(204, 102, 204);"&gt;1&lt;/span&gt;;&lt;br /&gt;               &lt;span style="color: rgb(177, 177, 0);"&gt;if&lt;/span&gt; &lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;rand.&lt;span style="color: rgb(0, 102, 0);"&gt;nextInt&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;100&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;)&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;area&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt; = - &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;this&lt;/span&gt;.&lt;span style="color: rgb(0, 102, 0);"&gt;area&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;i&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;j&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;;&lt;br /&gt;           &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;       &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt;   &lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;final&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; width = &lt;span style="color: rgb(204, 102, 204);"&gt;256&lt;/span&gt;;&lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt;  &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;final&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt; heigth = &lt;span style="color: rgb(204, 102, 204);"&gt;256&lt;/span&gt;;&lt;br /&gt; &lt;br /&gt;   &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt; area = &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;new&lt;/span&gt; &lt;span style="color: rgb(153, 51, 51);"&gt;int&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;width&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;[&lt;/span&gt;heigth&lt;span style="color: rgb(102, 204, 102);"&gt;]&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(102, 204, 102);"&gt;}&lt;/span&gt;&lt;a href="http://syhi.stworks.ru/" style="display: block; text-align: right; font-size: 9px;"&gt;Syhi-подсветка кода&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Да чуть не забыл. Один из приведенных классов - тестовый и не имеет к алгоритму непосредственного отношения. Итого в реализации четыре класса.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Вот исходники в виде файлов, если кого интересует. TestClass можно запустить и посмотреть результат работы.&lt;br /&gt;&lt;a href="http://vip-file.com/download/22d506438/CustomCell.java.html" target="blank"&gt; CustomCell.java &lt;/a&gt;&lt;br /&gt;&lt;a href="http://vip-file.com/download/c080eb267067/DeicstraArea.java.html" target="blank"&gt; DeicstraArea.java &lt;/a&gt;&lt;br /&gt;&lt;a href="http://vip-file.com/download/60b732527926/DeicstraCell.java.html" target="blank"&gt; DeicstraCell.java &lt;/a&gt;&lt;br /&gt;&lt;a href="http://vip-file.com/download/3a1735514392/NoWayException.java.html" target="blank"&gt; NoWayException.java &lt;/a&gt;&lt;br /&gt;&lt;a href="http://vip-file.com/download/fae8ea949048/TestClass.java.html" target="blank"&gt; TestClass.java &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-6816000199430225698?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/6816000199430225698/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=6816000199430225698' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/6816000199430225698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/6816000199430225698'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2008/01/java.html' title='Модифицированный алгоритм Дейкстры или А* на Java'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-8874802951000127646</id><published>2008-01-13T23:33:00.000+02:00</published><updated>2008-12-13T03:40:44.258+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Atmel'/><title type='text'>Программирование фьюзов (Feses) микроконтроллера Atmega128</title><content type='html'>&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Прежде всего, хочу успокоить благодарного читателя данного поста. Я не собираюсь превращать свой блог в самоучитель по микроконтраллерам либо по другим вещам, а по этому приведу только часть, которая касается  данного вопроса, и укажу на некоторые грабли на которые имел удовольствие наступить. Основа материала взята с официального сайта фирмы &lt;a href="http://www.atmel.com/"&gt;Atmel&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;  &lt;p style="margin-bottom: 0cm;" align="justify"&gt;Atmega128 имеет три фьюз-байта. Таблицы коротко описывают функциональность всех фьюзов и их расположение в фьюз-байтах. Главное, что надо иметь ввиду — это то, что если фьюз-бит &lt;b&gt;запрограммирован&lt;/b&gt;, то при чтении его значение равно логическому &lt;b&gt;нулю&lt;/b&gt;(«0»).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Таблица 1 — Фьюз-байт расширения&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_0eGcjuTqsDw/R4zVgCgcjsI/AAAAAAAAAAs/uUIjXaRGx9I/s1600-h/T1.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_0eGcjuTqsDw/R4zVgCgcjsI/AAAAAAAAAAs/uUIjXaRGx9I/s400/T1.GIF" alt="" id="BLOGGER_PHOTO_ID_5155730419837865666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Таблица 2 — Старший фьюз-байт&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_0eGcjuTqsDw/R4zTqSgcjqI/AAAAAAAAAAc/4Dwh0TshUqg/s1600-h/T2.GIF"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_0eGcjuTqsDw/R4zTqSgcjqI/AAAAAAAAAAc/4Dwh0TshUqg/s400/T2.GIF" alt="" id="BLOGGER_PHOTO_ID_5155728396908269218" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Примечания:&lt;/b&gt;&lt;br /&gt;1. &lt;b&gt;SPIEN&lt;/b&gt;-фьюз не доступен в &lt;b&gt;SPI&lt;/b&gt; режиме последовательного программирования.&lt;br /&gt;2. Функциональность &lt;b&gt;СKOPT&lt;/b&gt;-фьюза зависит от бита &lt;b&gt;СKSEL&lt;/b&gt;.&lt;br /&gt;3. По умолчанию &lt;b&gt;BOOTSZ0..1&lt;/b&gt; определяют максимальный размер загрузочной области&lt;br /&gt;4. Продукт никогда не поставляется с запрограммированным &lt;b&gt;OCDEN&lt;/b&gt;-фьюзом независимо от настроек lock-битов и &lt;b&gt;JTAGEN&lt;/b&gt;-фьюза. Запрограммированный &lt;b&gt;OCDEN&lt;/b&gt;-фьюз включает некоторые  части тактирующей системы которые запускаются во всех &lt;b&gt;sleep&lt;/b&gt;-режимах.&lt;br /&gt;5.Если &lt;b&gt;JTAG&lt;/b&gt; интерфейс не используется, &lt;b&gt;JTAGEN&lt;/b&gt;-фьюз должен быть по возможности выключен. Это позволит  избежать статического тока через вывод &lt;b&gt;TDO&lt;/b&gt; интерфейса &lt;b&gt;JTAG&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Таблица 3 — Младший фьюз-байт&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_0eGcjuTqsDw/R4zUTygcjrI/AAAAAAAAAAk/vAurytgVb0I/s1600-h/T3.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_0eGcjuTqsDw/R4zUTygcjrI/AAAAAAAAAAk/vAurytgVb0I/s400/T3.JPG" alt="" id="BLOGGER_PHOTO_ID_5155729109872840370" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Примечания:&lt;/b&gt;&lt;br /&gt;1.Значения &lt;b&gt;SUT0..1&lt;/b&gt; по-умолчанию задают максимальное время задержки сброса.&lt;br /&gt;2.Значения битов &lt;b&gt;CKSEL0..3&lt;/b&gt; по-умолчанию определяют тактирование от схемы внутреннего RC-генератора на частоте 1МГц&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt;&lt;br /&gt;Стоит отметить то, что  фьюз-биты заблокированы если lock-бит LB1 запрограммирован. Программируйте фьюз биты до программирования lock-битов.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt;&lt;br /&gt;Теперь про обещанные грабли. По умолчанию, &lt;b&gt;ATmega128&lt;/b&gt; прошита на эмуляцию &lt;b&gt;ATmega103&lt;/b&gt; (что видно из таблицы 1). К сожалению &lt;b&gt;Я&lt;/b&gt; невнимательно читал DataSheet и не обратил на это внимание. А в этом режиме кристалл работает вообще не предсказуемо если программу писать для &lt;b&gt;ATmega128&lt;/b&gt;. На поиск ошибки ушло около двух недель, а обнаружена она была случайно. Отчаявшись, &lt;b&gt;Я&lt;/b&gt; решил помигать светодиодом, повесив его на свободный тогда порт &lt;b&gt;F&lt;/b&gt;. А он не мигает :-( .  Посмотрев внимательно на  описание  этого порта &lt;b&gt;Я&lt;/b&gt; прозрел. В режиме эмуляции &lt;b&gt;ATmega103&lt;/b&gt; порт &lt;b&gt;F&lt;/b&gt; работает только на вход. А дельше, как говориться, дело техники.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-8874802951000127646?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/8874802951000127646/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=8874802951000127646' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/8874802951000127646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/8874802951000127646'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2008/01/feses-atmega128.html' title='Программирование фьюзов (Feses) микроконтроллера Atmega128'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_0eGcjuTqsDw/R4zVgCgcjsI/AAAAAAAAAAs/uUIjXaRGx9I/s72-c/T1.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-8835455598674348635</id><published>2008-01-08T22:45:00.003+02:00</published><updated>2008-03-31T21:15:11.435+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Simcom'/><title type='text'>Применение модулей SIM300 и SIM300C фирмы Simcom</title><content type='html'>&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Хочу поделиться со всеми желающими некоторыми практическими наработками в этой области.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Прежде всего стоит сказать о незначительных отличиях в этих моделях. Модуль SIM300C в отличии от своего младшего брата содержит схему заряда литиевой батареи емкостью 580 мА/ч и дополнительный вывод  GPIO который можно использовать по своему усмотрению. Но основное чем отличаются эти модули — это разъем (board-to-board connector). Если чувствуете в себе  силы паять разъем с шагом 0.5мм — используйте SIM300, если же Вам ближе шаг 1.27мм, то SIM300C — это то что Вам нужно.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Теперь о главном. Когда я приступил к изготовлению девайса на основе этих модулей, меня немного пугало множество мелочей которые необходимо было учесть при разработке, но после небольшой практики все стало на свои места.&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Во-первых, для того что бы модуль просто работал достаточно просто подключить питание на цепи &lt;b&gt;VBAT&lt;/b&gt; (4.0V). И замкнуть цепь &lt;b&gt;PWRKEY&lt;/b&gt; на землю в течении 1с — это даст сигнал на включение. Если же наличие кнопки вкл/выкл модуля в устройстве не предполагается  и модуль должен быть постоянно включенным, то цепь  &lt;b&gt;PWRKEY&lt;/b&gt; следует соединить с землей невсегда. Работоспособность модуля можно контролировать по миганию светодиода подключенного через транзистор к выходу &lt;b&gt;LED&lt;/b&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Следующее, что я бы посоветовал проверять — это интерфейс общения по RS-232. Тут есть нюансы. Один из которых связан с тем, что логические уровни модуля соответствуют уровням микросхем с напряжением питания &lt;b&gt;3.0&lt;/b&gt;V Следовательно &lt;b&gt;MAX232&lt;/b&gt; не проходит. Я использовал &lt;b&gt;MAX3238&lt;/b&gt; и &lt;b&gt;SP3238&lt;/b&gt; — обе работали достойно, только стоят они по-разному :-).Правда эти микросхемы в корпусах &lt;b&gt;SSOP&lt;/b&gt; (шаг 0.5мм), но другие варианты я не рассматривал. Передомной стояла задача обеспечить обмен данными с PC посредством COM-порта. При этом были использованы только сигналы &lt;b&gt;RX&lt;/b&gt; и &lt;b&gt;TX&lt;/b&gt;. Согласно документации,  изначально эти модули работают в режиме &lt;b&gt;115200&lt;/b&gt; бод и с аппаратным прерыванием потока для чего я вынужден  был соединить выводы &lt;b&gt;RTS&lt;/b&gt; и &lt;b&gt;CTS&lt;/b&gt; модуля. Но как показали эксперименты без этого соединения схема тоже работоспособна.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; На этом этапе, если все сделано правильно при работе с помощью стандартной программы HyperTerminal (baud=115200, data=8, stop=1, paryty=no, XON/XOFF=on) при посылке команды &lt;b&gt;AT&lt;/b&gt; модуль должен ответить &lt;b&gt;OK.&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Далее я бы порекомендовал поработать с SIM-картой. SIM-карта подключается при помощи четырех сигналов: &lt;b&gt;SIM_VDD, SIM_I/O, SIM_CLK, SIM_RST&lt;/b&gt;. Есть правда еще один сигнал &lt;b&gt;SIM_PRESENCE&lt;/b&gt;, который видимо используется при горячей замене карточки. Его можно оставить неподключенным, а можно заземлить. Работает в обоих случаях. При этом обязательно наличие подтягивающего резистора между  &lt;b&gt;SIM_VDD&lt;/b&gt; и  &lt;b&gt;SIM_I/O&lt;/b&gt;, иначе возможны проблемы. В документации к модулям рекомендованы защитные супрессоры по каждому из этих сигналов, но на практике я их не использовал. Если все подсоединено правильно, то, во-первых, наблюдается наличие напряжения питания карточки на выводе  &lt;b&gt;SIM_VDD&lt;/b&gt;, а во вторых убедиться в наличии карточки можно при помощи команды &lt;b&gt;«AT+CSMINS?»&lt;/b&gt; результатом которой будет два числа отделенных запятой(в моем случае &lt;i&gt;&lt;b&gt;0,1&lt;/b&gt;&lt;/i&gt;), если второе число равно 1, то значит модуль правильно идентифицирует наличие карточки. Так же можно определить зашитое в карточку имя оператора мобильной связи при помощи команды &lt;b&gt;«AT+CSPN?»&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Если все вышеуказанные этапы увенчались успехом — можно подключать антенну и работать. Наличие радио-сети индицирует снижение частоты мигания светодиода. При успешном подключении к оператору мобильной связи светодиод должен вспыхивать примерно 1 раз в 3 секунды. Если это так рекомендую проверить счет: &lt;b&gt;«ATDT NNNNN»&lt;/b&gt;, где NNNNN номер проверки счета Вашего оператора (у меня *101#).&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; При работе &lt;span style="font-weight: bold;"&gt;Я&lt;/span&gt; пользовался следующими документами:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vip-file.com/download/2126e4902761/SIM300-HD-V1.05.pdf.html" target="blank"&gt;SIM300_HD_V1.05.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://vip-file.com/download/854578934743/SIM300C-HS.pdf.html" target="blank"&gt;SIM300C_HS.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://vip-file.com/download/45ddae981015/SIM300-ATC-V1-03.pdf.html" target="blank"&gt;SIM300_ATC_V1 03.pdf&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm;" align="justify"&gt; Желаю удачи!!!&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-8835455598674348635?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/8835455598674348635/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=8835455598674348635' title='Комментарии: 6'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/8835455598674348635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/8835455598674348635'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2008/01/sim300-sim300c-simcom.html' title='Применение модулей SIM300 и SIM300C фирмы Simcom'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-159017766949182016.post-7138518942516631145</id><published>2007-12-18T13:28:00.000+02:00</published><updated>2007-12-18T13:32:15.152+02:00</updated><title type='text'>СТАРТ</title><content type='html'>Вот  и &lt;strong&gt;Я&lt;/strong&gt; решил создать себе Блог. Смысл? - Посмотрим...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/159017766949182016-7138518942516631145?l=hello-shef.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://hello-shef.blogspot.com/feeds/7138518942516631145/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=159017766949182016&amp;postID=7138518942516631145' title='Комментарии: 1'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/7138518942516631145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/159017766949182016/posts/default/7138518942516631145'/><link rel='alternate' type='text/html' href='http://hello-shef.blogspot.com/2007/12/blog-post.html' title='СТАРТ'/><author><name>Shef</name><uri>http://www.blogger.com/profile/04191152957104520903</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
