Властивість
|
Опис
|
Містить рядок із
виведеним текстом.
|
(Pb) property
Alignment: TAlignment;
|
Встановлює правило
вирівнювання тексту - по правому, лівому краю чи з центру клієнтської
області.
|
(Pb) property
AutoSize: Boolean;
|
Що стосується True
відбувається автоматичне приведення розмірів компонента до величини тексту і
висоті шрифту.
|
|
|
|
|
|
Продовження табл.1
|
Рroperty ShowAccelChar: Boolean -
показує у TLabelEdit акселератор (символ, значенням якого
стоїть знак амперсанда - '&'). Якщо він «False», амперсанд неможливо
інтерпретувати. Що стосується True акселератор виділяється в рядку
підкресленням і натискання клавіш <Аlt>+<символ> призводить до
передачі фокусу вікна FocusControl (т.к. TLabel сам він не є віконним компонентом).FocusControl:
TWinControl - Визначає віконний компонент, якому посилаються повідомлення про
введення акселератора.Transparent: Boolean - Прозорість фону компонента. Якщо
властивість встановлено в True, то при перемалюванні елемента управління виходить
зафарбування клієнтської області. Якщо інакше - відбувається зафарбування
пензлем bsSolid і Color. WordMrap: Boolean - Визначає можливість розриву слів у
разі, якщо довжина виведеного тексту перевищує ширину компонента.
.3 Компонент TPanel
- управляючий елемент, схожий на TGroupBox, що використовують
у декоративних цілях. Щоб використовувати TPanel (Рис.11), просто помістіть
його на форму і далі перемістіть на нього інші компоненти. Тепер при
переміщенні TPanel пересуватимуться й інші компоненти. TPanel застосовується
також до створення панелі інструментів і вікна статусу.
Рис.11
Цей компонент доступний з модуля EXTCTRLS, і викликається з
сторінки Палітри компонентів Standard.
Цей компонент - є несучою конструкцією розміщувати інші
елементи управління. На відміну від простої рамки (TBevel) панель сама є
віконним елементом управління і батьком всім розміщених у ньому компонентів.
Часто її використовують із створення панелей інструментів.
За зовнішнє оформлення панелі відповідають властивості:Bevel
Inner: TPanelBevel;BevelOuter: TPanelBevel;= (bvNone, bvLowered, bvRaised)
;BevelWidth: TBevelWidth;= 1..Maxint;BorderWidth: TBorderWidth;= 0..Maxint ;
На межах панелі розміщуються дві спеціальні обмережуюючі
рамки (bevels): Bevellnner і BevelOuter. За допомогою комбінації білого і
сірого кольорів вони імітують тривимірність - випуклість (bvRaised) чи
утоп-ленность (bvLowered). Обидві рамки мають ширину BevelWidth.
Зовнішня - BevelOuter - міститься за периметром панелі, друга
- Bevellnner - всередині з відривом BorderWidth від нього. Обидві можуть бути
невидимими (bvNone), випуклими чи втопленими.
Комбінуючи поєднання bvLowered/bvRaised, можна створити
навколо панелі "рів" чи "вал".
Ілюзію тривимірності може підкреслити також стиль обрамлення
компонента:BorderStyle: TBorderStyle;= bsNone .. bsSingle;
Значення bsSingle означає, що панель буде облямована чорної
лінією одиничної товщини (за периметром, зовні від обох рамок).
Вирівнювання тексту заголовка панелі визначається з допомогою
властивості:Alignment: TAlignment;
У обробнику події: property OnResize: TNotifyEvent
передбачена реакція на зміну розмірів панелі.
.4 Компонент TBitBtn
- кнопка на кшталт TButton, проте, на ній можна розмістити
картинку (Рис.12). TBitBtn має низку визначених типів (bkClose, bkOK та інших),
під час виборів яких кнопка приймає відповідний вид. З іншого боку, натискання
кнопки на модальном вікні (Form2.ShowModal) призводить до закриттю вікна з
певним модальним результатом (Form2.ModalResult). Цей компонент доступний з
модуля BUTTONS, і залишається сторінка Палітри компонентів Additional.
Рис.12
Ця кнопка, будучи нащадком TButton, може нести у собі
піктограму і має ряд додаткових зручностей у використанні. У Delphi вже
визначено стандартні види кнопок:Kind: TBitBtnKind;= (bkCustom, bkOK, bkCancel,
bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bklgnore, bkAll);
Для кожної їх визначено ModalResult:: array[TBitBtnKind] of
TModalResult =
(0, mrOk, mrCancel, 0, mrYes, mrNo, 0, mrAbort, mrRetry,
mrlgnore, inrAll);
А такожн назва й малюнки до різних станів. Досить встановити
значення властивості Kind, і кнопка відразу придбає потрібний вид. Кожна з
видів кнопок при натисканні відразу робить певні дії. Так, bkHelp здійснює
ініціалізацію системи з своїм (чи найближчим ненульовим батьківським)
контекстом. Кнопка виду bkClose закриває форму, якій вона належить, викликаючи
процедуру Close.
Кнопка буде віднесена до виду bkCustom, якщо вона:
1. призначена Default, та заодно не належить безлічі
[bkOk, bkYes];
2. призначена Cancel, але з належить безлічі [bkCancel,
bkNo];
. в неї змінена піктограма;
. модальний результат досягнуто, але не відповідає
певному при цьому жодному виду кнопок.
За зовнішній вигляд цієї кнопки відповідають властивості,
розглянуті нижче. Стиль зображення кнопок залежно від ОС задається
властивістю:Style: TButtonStyle;= (bsAutoDetect, bsWin31, bsNew);
Стиль bsNew відповідає Windows 95. У кожному разі коректним
буде застосування стилю bsAutoDetect, яка сама розпізнає версію системи.
Піктограмма кнопки, текстом якої видно на поверхні, визначається
властивістю:Glyph: TBitmap;
До сформування ефекту натискання картинка повинна трохи
змінюватися залежно від стану; ще, окрема картинка, потрібна для неактивного
стану (коли натискання не сприймається). У властивості Glyph мусить бути одна
бітова карта, але вона може утримувати картинки відразу для кількох станів
кнопки (максимум чотири). Вони інтерпретуються як відповідні нормальному (отжатому),
забороненого (неактивному), нажатому і утопленному станам (останнє вживається
лише для кнопок TSpeedButton). І тому картинки мають бути розташованими поспіль
впритул за горизонталлю. Наприклад, при розмірі картинок 16х16 потрібна
об'єднана бітова карта 64х16. Якщо кожна гілка картинок квадратна і ширина
загальної картинки нацело ділиться на висоту, то, при присвоєння її властивості
Glyph система зможе розпізнати їх і скоригувати кількість, обумовлений
властивістю:NumGlyphs: TNumGlyphs ;= 1..4;
При відмальовці залежно стану з великої бітовой карти буде
використано потрібна частина.
Три властивості визначають розташування тексту:Layout:
TButtonLayout;
Спосіб вирівнювання піктограми щодо країв кнопки. Можливо
одним з чотирьох способів:= (biGlyphLeft, biGlyphRight, biGlyphTop,
biGlyphBottom);
Відстань від відповідного способу вирівнювання краю кнопки до
пікто грами описується властивістю:Margin: Integer;
Проміжок між піктограмою і текстом дорівнює:Spacing: Integer;
Якщо властивості Margin, Spacing чи обидва не задано (за
умовчанням рівні -1), значення цих проміжків вибираються системою. Кнопка також
має метод Click й поліпшуючи властивості Caption, ModalResult, Default і
Cancel. Статус Default отримують кнопки видів bkOk, bkYes, a Cancel - кнопки
видів bkCancel, bkNo.
3.5 Компонент TImage
- відображає графічне зображення на формі (Рис.13). Сприймає
формати BMP, ISO, WMF. Якщо картинку підключити під час створення дизайну
програми, вона прикомпілюется до EXE файлу.
Рис.13
Цей компонент доступний з модуля EXTCTRLS і викликається
сторінкою Палітри компонентів Additional.
Цей компонент служить надбудовою над класом TPicture і
замикає всю ієрархію графічних об'єктів VCL. Він призначений для показу на
формі зображення: бітовой карти (TBitmap), метафайла (TMetafile), значка
(TIcon).Canvas: TCanvas;
Якщо тут інше, то спроба звернення до властивості викликає
виняткову ситуацію EInvalidOperation, оскільки малювати на метафайлі чи значку
не можна.
Три наступні властивості визначають, як саме TРicture
розташований у робочої області компонента:AutoSize: Boolean;
означає, що розміри компонента настроюється за величиною що
міститься у ньому графічного об'єкта. Встановлювати їх у «True» потрібно перед
завантаженням зображення з файла чи буфера обміну;Stretch: Boolean;
якщо ця властивість встановлено в «True», то зображення
"натягується" на робочу область, за необхідності зменшуючи чи
збільшуючи свої розміри. Якщо він встановлено в False, то виконує функцію така
властивість;Center: Boolean;
якщо ця властивість встановлено в «True», зображення
центруется на робочій області. Інакше - розташовується у її верхньому лівому
кутку.
РОЗДІЛ 4: ОХОРОНА ПРАЦІ
Програмісти за допомогою комп'ютерів здійснюють всі необхідні
дії по управлінню системою. Тож основним робочим місцем вважаємо інженерний
відділ. Суб’єктом праці виступає програміст, який основний час роботи проводить
в інженерному відділі за комп’ютером.
Робоче місце програміста являє собою приміщення де розміщені
персональні комп’ютери, які мають вплив на здоров’я людей, що знаходяться у
цьому приміщенні. Площа робочого приміщення 66,64 м2 у якому
розташовано 8 робочих місць,кожне робоче місце займає 8,33 м2, що
відповідає санітарним нормам проектування приміщень. В приміщенні є 3 вікна
площею 10,3 м2, одне розташоване навпроти дверей,є штучне
освітлення. НПА 00.-128.10. «Правила охорони праці при експлуатації
електронно-обчислювальних машин».
Перелік шкідливих чинників що діють на суб’єкта
Умови праці - це сукупність чинників виробничої галузі, що
впливають на здоров'я і працездатність людини в процесі праці. Умови праці
повинні бути комфортними і виключати передумови для виникнення травм і
професійних захворювань:
· Недостатня освітленість робочої зони
· Підвищений рівень ураження
електричним струмом
· Підвищений або понижений рівень
температури повітря
· Підвищений рівень електромагнітних
випромінювання
· Підвищений рівень шум, вібрацій ,
ультразвуку
Штучне освітлення.
Умови штучного освітлення на підприємствах зв'язку дуже
впливають на зорову працездатність, фізичний і моральний стан людей, а отже, на
продуктивність праці, якість продукції й виробничий травматизм. Для створення
сприятливих умов праці виробниче освітлення повинне відповідати наступним
вимогам: освітленість на робочому місці повинне відпові дати гігієнічним
нормам; яскравість на робочій поверхні й у межах навколишнього простору повинна
розподілятися по можливості рівномірно; різкітіні на робочій поверхні повинні
бути відсутні, їхня наявність створює нерівномірний розподіл яскравості; блиск
повинен бути відсутнім у полізору; освітлення повинне забезпечувати необхідний
спектральний склад світла для правильної передачі кольору.
Штучне освітлення може бути двох систем: загальне й
комбіноване. При комбінованому освітленні до загального додається місцеве
освітлення, що концентрує світловий потік безпосередньо на робочих місцях.
Загальне освітлення підрозділяється на загальнерівномірне й
загальнелокалізоване. Застосування одного місцевого освітлення у виробничих
будинках не допускається. Штучне освітлення поділяється також на робоче,
аварійне, евакуаційне й охоронне.
ДБН В.2.5.28-2006 «Природна та штучна освітленність».
Розрахунок освітленості робочого місця
Розмір приміщення - 11.9х5.6х3.2
Тип світильників - Відкр. ден. світла
Кількість ламп у світильнику - 8 шт.
Тип ламп - E14-288SW-1700 (white) (18 Вт)
Коефіцієнт запасу - 1.4
Поправочний коефіцієнт - 1.1
Довжина - 11.9 м
Ширина -5.6 м
Висота - 3.2 м
Коефіцієнти відбиття:
Стіни - 40 %
Стеля - 70 %
Розрахуємо освітленість виробничого приміщення методом
коефіцієнта використання світлового потоку. Цей метод дозволяє визначити
світловий потік, створений лампами, і розрахувати освітленість в робочому
приміщенні або за даним рівнем освітленості - потрібну кількість світильників.
Основне рівняння методу:
= E·s·k·z / з·n,(1.1)
де F - світловий потік однієї лампи (для лампи E14-288SW-1700
(white) потужністю 18 Вт, F=450 Лм );- площа приміщення:= 11,9 · 5,6 = 66,64
м2,(1.2)- коефіцієнт запасу, що враховує старіння ламп, запиленість та
забруднення світильників; - поправочний коефіцієнт, що характеризує
нерівномірність освітлення (відношення мінімальної освітленості до середньої
горизонтальної), z = 1,1;
з - коефіцієнт використання світлового потоку освітлювальної
установки у частках; - кількість ламп, n = 8.
Коефіцієнт використання світлового потоку освітлювальної
установки у певному приміщенні визначається з урахуванням відбивних
властивостей поверхонь приміщення та індекса приміщення. Індекс приміщення
визначається за формулою:
і = а•b / (Нр• (а + b)), (1.3)
де а, b - відповідно ширина та довжина приміщення, м;
Нр - висота підвішування світильників над робочою поверхнею,
м.
Нр = 3,2 - 0,8 = 2,4 м, де 0,8 - висота столу.
Для визначення коеффіцієнту використання світлового потоку
освітлювальної установки з необхідно визначити індекс приміщення і:=
11,9•5,6/(2.4•(11,9+5,6)) = 1,59
З урахуванням коеффіціентів відбиття стін та стелі (стелі=70
%і стін=40%) визначаємо з=56%. Кількість ламп можна подати як добуто ккількості
ламп у світильнику на кількість світильників (nл ·nc). Для визначення кількості
світильників рівняння матиме вигляд:
с = E·S·k·z /(F·з·nл)(1.4)
Згідно нормативних актів значення освітленості на поверхні
робочого столу в зоні розміщення документів має становити 300-500 лк. З
вихідних даних маємо k=1.4; z=1.1; nл=8;с = 500 · 66,64 · 1,4 · 1,1/(450 · 0,56
·8) = 25,4
світильників
Результат: отримаємо 25 світильників, це не порушує
встановлених норм освітлення 300-500 лк., необхідних для забезпечення
нормативних показників освітленості на робочих поверхнях у приміщеннях з
робочими місцями, обладнаними комп'ютерною технікою.
Ураження електричним струмом.
ЕОМ з ВДТ і ПП, інше устаткування (апарати управління,
контрольно-вимірювальні прилади,світильники),електропроводи та кабелі за
виконанням і ступенем захисту мають відповідати класу зони за НПАОП
40.1-1.01-97 ( z0011-98 ),мати апаратуру захисту від струму короткого замикання
та інших аварійних режимів. У приміщенні, де одночасно експлуатуються понад
п'ять ЕОМзВДТіПП, на помітному та доступному місці встановили аварійний
резервний вимикач,який може повністю вимкнути електричне живлення приміщення,
крім освітлення. ЕОМ з ВДТ і повинні підключатися до електромережі тільки за
допомогою справних штепсельних з'єднань і електророзеток заводського
виготовлення. У штепсельних з'єднаннях та електророзетках, крім контактів
фазового та нульового робочого провідників, установили спеціальні контакти для
підключення нульового захисного провідника. Штепсельні з'єднання та
електророзетки для напруги 12 В та 42 В за своєю конструкцією відрізняються від
штепсельних з'єднань для напруги 127 В та 220 В.
Мікроклімат
Температура, відносна вологість, швидкість руху повітря біля
тіла людини, а також температура стін і навколишніх предметів утворюють
мікроклімат на робочому місці. Різні сполучення цих параметрів можуть
створювати те саме комфортне відчуття, що відповідає оптимальним умовам для
теплообміну тіла людини з навколишнім середовищем без напруги терморегуляції
організму.
Діючі санітарні норми ДСН 3.3.6.042-99 «Санітарні норми
мікроклімату виробничих приміщень» установлюють конкретні оптимальні значення
температури, відносній вологості й швидкості руху повітря в робочій зоні:
температура, - 22-24 узимку й 23-25 улітку градусів Цельсія;
відносна вологість, - 40-60 відсотків;
швидкість руху повітря,- не більше 0,1 метрів у секунду.
Мікроклімат покладається систематично контролювати шляхом
виміру його параметрів і порівняння їх з нормами. Виміру проводять у декількох
точках приміщення на висоті 1,3 - 1,5 м від підлоги й на відстані не ближче 1 м
від джерел теплоти або зовнішніх стін. У даному приміщенні:температура, - 22
узимку й 24 улітку градусівЦельсія;відносна вологість, - 55 відсотків;
швидкість руху повітря 0,085 метрів у секунду, що задовольняє санітарні норми
ДСН 3.3.6.042-99.
У даному розділі розглянуті заходи, що виключають або що
обмежують вплив на технічний персонал небезпечних і шкідливих виробничих
чинників. Зроблений розрахунок освітленості в робочій зоні. Ми отримали 25
світильників,що є найкращим варіантом освітленості робочої зони та не порушує
встановлених норм освітленості 300-500лк.Розглянувши питання мікроклімати
встановили, що даному приміщенні:температура, - 22 узимку й 24 улітку градусівЦельсія;відносна
вологість, - 55 відсотків; швидкість руху повітря 0,085 метрів у секунду, що не
порушує санітарні норми . Розглянувши питання небезпеки ураження електричним
струмом у приміщенні, де одночасно експлуатуються понад п'ять ЕОМзВДТіПП, на
помітному та доступному місці встановили аварійний резервний вимикач, який може
повністю вимкнути електричне живлення приміщення, крім освітлення. У
штепсельних з'єднаннях та електророзетках,крім контактів фазового та нульового
робочого провідників, установили спеціальні контакти для підключення нульового
захисного провідника.
ВИСНОВОК:
Середовищне програмування Delphi, дозволяє створювати багато
різних за своєю структурою та призначенням програм, від графічних редакторів до
програм що ведуть найскладніші математичні розрахунки, від медіаплеєрів до
ігор. В даній дипломній головною метою було відтворення гри «Морський бій» у
вигляді комп’ютерної програми. У процесі виконання даної дипломної роботи було
отримано ігровий програмний продукт, під назвою «Морський бій 1.3». Було
здійснено дослідження компонентів програмного середовища Delphi, що були
використані під час створення гри.
Через дослідження виявлено такі недоліки отриманого
програмного продукту:
1. Низький штучний інтелект, що робить малоймовірним
перемогу комп'ютера;
2. Працездатністьпрограми лише серед Windows;
Проте, крім недоліків, є й переваги цього програмного
продукту:
1. Можливість збереження ігрового прогресу.
2. Програмний продукт невимогливий до системних ресурсів
комп'ютера. Мінімальна конфігурація: процесор - не нижче Pentium, оперативна
пам'ять - не нижче 16 Mb, операційна система - Windows 95 / 98/ Me / NT / 2000
/ XP.
У наступних версіях програми будуть внесені різноманітні
поправки, направлені на поліпшення ігрового процесу.
СПИСОК
ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
1. Журнал Комп'ютер Пресс, N1, 1996
. Дворак Дж. 350 ігор для IBM PC.
-С-Пб.:Пергамент, 1994, -318с.
. Фаронов В.В. Delphi 4. Навчальний курс. -М.:
Нолидж, 1999. -447с.
. Дарахвелидзе П.Г., Марков Е.П. Delphi -
середовище візуального програмування. -СПб.:BHV-Санкт-Петербург, 1996. -352с.
. Епанешников А., Епанешников У. Програмування
серед Delphi 2.0. Навчальний посібник. В. 4-х частинах. Ч.1. Опис середовища.
-М.:ДИАЛОГ-МИФИ, 1997. -235с.
. Епанешников А., Епанешников У. Програмування
серед Delphi 2.0. Навчальний посібник. В. 4-х частинах. Ч.2. Мова Object Pascal
9.0. -М.:ДИАЛОГ-МИФИ, 1997. -319с.
. Фаронов В.В. Турбо Паскаль 7.0. Початковий
курс. Навчальний посібник. -М.:Нолидж, 1997. -616с.
. Фаронов В.В. Турбо Паскаль 7.0. Практика програмування.
Навчальний посібник. -М.:Нолидж, 1997. -432с.
ДОДАТОК
В додатку вказаний код програми, алгоритм реалізації ігрового
процесу та скріншоти з програми.
ДОДАТОК А
Алгоритм реалізації ігрового процесу програми:
) При запуску програми автоматично запускається нова
гра (Рис.14), де гравцю пропонується ввести своє ім’я та обрати стратегію
комп’ютера-опонента (логічно-математичну або хаотичну).
Рис. 14
) Далі обирається схема розташування кораблів на
ігровому полі, у грі передбачена можливість автоматичного розташування кораблів
(Рис.15).
Рис. 15
) Після натиснення на кнопку «Играть» починається гра
(Рис.16).
Рис. 16
) Після того як один з опонентів знищує всі кораблі
суперника на екрані з’являється вікно, яке оголошує про результат гри (Рис.17).
Рис. 17
Рис. 18
ДОДАТОК Б
Код програми
Unit1;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, ExtCtrls, Menus, StdCtrls, Buttons, XPMan, ExtDlgs, Unit3,
Unit4, jpeg;= array[-1..10,-1..10]of integer;= array[0..9,0..9]of real;=
class(TForm): TPanel;: TImage;: TImage;: TMainMenu;: TMenuItem;: TPanel;:
TPanel;: TMenuItem;: TMenuItem;: TPanel;: TMenuItem;: TMenuItem;: TMenuItem;:
TMenuItem;: TLabel;: TRadioGroup;: TBitBtn;: TBitBtn;: TPanel;: TLabel;:
TCheckBox;: TRadioGroup;: TBitBtn;: TLabel;: TLabel;: TLabeledEdit;:
TXPManifest;: TPanel;: TShape;
Додаток Б продовження: TShape;: TShape;: TShape;:
TStaticText;: TStaticText;: TStaticText;: TBitBtn;: TMemo;: TOpenDialog;:
TSaveDialog;: TRadioButton;: TRadioButton;: TRadioButton;: TRadioButton;:
TRadioButton;: TPanel;: TShape;: TShape;: TRadioButton;: TRadioButton;:
TRadioButton;: TImage;: TPanel;: TLabel;: TButton;: TButton;: TButton;:
TButton;FormActivate(Sender: TObject);myFieldMouseDown(Sender: TObject; Button:
TMouseButton;: TShiftState; X, Y: Integer);bbReClick(Sender:
TObject);bbOKClick(Sender: TObject);bbOkSetClick(Sender: TObject);cFieldMouseUp(Sender:
TObject; Button: TMouseButton;: TShiftState; X, Y: Integer);N8Click(Sender:
TObject);N2Click(Sender: TObject);N9Click(Sender: TObject);AutoClick(Sender:
TObject);
Додаток Б продовженняN6Click(Sender: TObject);N3Click(Sender:
TObject);Button3Click(Sender: TObject);Button4Click(Sender:
TObject);ShutThrough(myField:TImage;var
f:boolean);i,j,k,l:integer;:=True;:=Random(10);:=Random(10);Free(l,k) and
CanBe(l,k);(l,k);
//ShowMessage(IntToStr(A[l,k]));A[y,z]>0:=pp+1;:=kp+1;:=2;:=ds1+1;[y,z]:=-A[y,z];A[y,z]=1[1]:=Ds[1]-1;:=1;[y,z]:=-1;[y,z+1]:=-5;[y,z-1]:=-5;[y-1,z]:=-5;[y+1,z]:=-5;[y-1,z+1]:=-5;[y+1,z+1]:=-5;[y-1,z+1]:=-5;[y-1,z-1]:=-5;(y-1,z,myField);(y-1,z-1,myField);(y-1,z+1,myField)(y,z-1,myField);(y,z+1,myField);(y+1,z,myField);(y+1,z-1,myField);(y+1,z+1,myField);(y,z,205,38,38,myField);(y,z,238,180,34,myField);;[y,z]:=-5;(y,z,myField);:=False;;;;ShutAround(myField:TImage;var
f:boolean;var i:integer);pf:boolean;
//ShowMessage(IntToStr(i));:=False;i of
:begin((y-1)>=0)and (C[y-1,z]=0):=True:=2;;
:begin((z+1)<=9)and (C[y,z+1]=0):=True:=3;;
:begin((y+1)<=9)and (C[y+1,z]=0):=True:=4;;
:begin((z-1)>=0)and (C[y,z-1]=0):=True:=1;;;pf;i of
:begin(A[y-1,z]>0):=pp+1;:=kp+1;:=True;:=ds1+1;[y-1,z]:=-A[y-1,z];(A[y-1,z]=2)[2]:=Ds[2]-1;[y-2,z]:=-5;[y-2,z-1]:=-5;[y-2,z+1]:=-5;[y-1,z-1]:=-5;[y-1,z+1]:=-5;[y,z-1]:=-5;[y,z+1]:=-5;[y+1,z]:=-5;[y+1,z-1]:=-5;[y+1,z+1]:=-5;:=1;(y-1,z,205,38,38,myField);:=3;(y-1,z,238,180,34,myField);;:=False;[y-1,z]:=-5;(y-1,z,myField);;;(A[y,z+1]>0):=pp+1;:=kp+1;:=True;:=ds1+1;[y,z+1]:=-A[y,z+1];(A[y,z+1]=2)[2]:=Ds[2]-1;[y,z+2]:=-5;[y-1,z+2]:=-5;[y+1,z+2]:=-5;[y-1,z+1]:=-5;[y+1,z+1]:=-5;[y-1,z]:=-5;[y+1,z]:=-5;[y,z-1]:=-5;[y-1,z-1]:=-5;[y+1,z-1]:=-5;:=1;(y,z+1,205,38,38,myField);:=3;(y,z+1,238,180,34,myField);;:=False;[y,z+1]:=-5;(y,z+1,myField);;;(A[y+1,z]>0):=pp+1;:=kp+1;:=True;:=ds1+1;[y+1,z]:=-A[y+1,z];(A[y+1,z]=2)[2]:=Ds[2]-1;[y+2,z]:=-5;[y+2,z-1]:=-5;[y+2,z+1]:=-5;[y+1,z-1]:=-5;[y+1,z+1]:=-5;[y,z-1]:=-5;[y,z+1]:=-5;[y-1,z]:=-5;[y-1,z-1]:=-5;[y-1,z+1]:=-5;:=1;(y+1,z,205,38,38,myField);:=3;(y+1,z,238,180,34,myField);;:=False;[y+1,z]:=-5;(y+1,z,myField);;;(A[y,z-1]>0):=pp+1;:=kp+1;:=True;:=ds1+1;[y,z-1]:=-A[y,z-1];(A[y,z-1]=2)[2]:=Ds[2]-1;[y,z-2]:=-5;[y-1,z-2]:=-5;[y+1,z-2]:=-5;[y-1,z-1]:=-5;[y+1,z-1]:=-5;[y-1,z]:=-5;[y+1,z]:=-5;[y,z+1]:=-5;[y-1,z+1]:=-5;[y+1,z+1]:=-5;:=1;(y,z-1,205,38,38,myField);:=3;(y,z-1,238,180,34,myField);;:=False;[y,z-1]:=-5;(y,z-1,myField);;;