
3 Організація вхідних і вихідних даних
У даній програмі для реалізації графічної оболонки були використані наступні засоби : TButton, TEdit, TLabel, TPanel, TTimer.
Компонент Delphi Button це проста командна кнопка. Командна кнопка Delphi кнопка використовується для реалізації в програмі команд за допомогою обробника події OnClick цього компонента. Один і той же обробник може обробляти події кількох компонентів TButton (та й не тільки TButton, але й навіть компонентів інших типів). Для визначення того, подія якого саме компонента потрібно обробляти, використовується вбудована змінна Sender типу TObject, що позначає об'єкт, що викликав дану подію. Для ілюстрації цієї можливості розглянемо просту процедуру, визначальну натиснуту кнопку.
Компонент Delphi Edit являє собою однорядкове текстове поле, що служить для введення даних користувачем. Основною властивістю компонента Delphi Edit, передавальним введену інформацію, є властивість Text типу String. На відміну від компонента Delphi Label, який автоматично підлаштовує свою довжину під розмір тексту у властивості Caption, що вводиться в компонент Delphi Edit текст ніяк не впливає на довжину (властивість Width) цього компонента. Чи не поміщається в встановлену довжину частину тексту зсувається вправо або вліво за межі компоненту.
Delphi компонент Label призначений для відображення статичного тексту, тобто написів і позначок на формі, які не міняються протягом усього часу роботи програми. Звичайно, текст напису, відображуваний компонентом Label можна змінити, але не безпосередньо, а тільки програмно. Властивістю компонента Label, яке використовується для завдання відображуваного тексту, є Caption. Хоча вважається, що компонент Delphi Label призначений для відображення саме однострочного тексту, це не зовсім вірно. Властивість WordWrap компонента Label дозволяє виводити текст в декілька рядків.
Компонент Delphi Timer дуже простий компонент, який не видно на екрані, але, тим не менш, Timer Delphi виконує дуже важливі функції в програмі. Delphi Timer дозволяє вводити необхідні затримки між виконанням тих чи інших дій. Компонент Delphi Timer не є дуже точним і не підходить для вимірювання малих проміжків часу. Його точність порядку 50 мілісекунд.
Також у програмі використовуються такі процедури : FormCreate, Panel2Click, Panel3Click, Panel4Click, Pos, Sel, EndOfGame, Hig, Move, Game, N4Click.
FormCreate відповідає за створення головної форми. Game запускає саму гру, з даною кількістю дисків. Panel2Click, Panel3Click, Panel4Click відповідають за переміщення дисків на стержнях. Pos, Sel, Hig, Move – процедури які відповідають за підрахунки координат при переміщенні дисків. EndOfGame – закінчення гри. N4Click – вихід.
4 Розробка програми
1. Постановка задачі
2. Вивчення літератури з заданого питання
3. Розробка алгоритму написання програми
4. Створення блок-схеми
5. Макетування першочергових алгоритмів
6. Написання тестової версії програми
7. Аналіз за тестування створеного проекту
8. Доопрацювання програми та оформлення графічної оболонки