(чотири рядки і чотири шпальти), яке заповнюється п'ятнадцятьма, неповторяющимися цифрами від 1 до 15 і одним порожнім клітиною.
Даний розділ реалізований за допомогою процедури Tablo. Фактично табло, яке описується раніше це двовимірний масив з цифрами від 1 до 15 і нуль. Але відображення цифр на екрані і нуля, замість порожнього елемента, робить табло не красивим. Звідси витікає, що двовимірний масив, повинен містити рядкові або символьні елементи. p> Наступному моментом реалізації даної процедури, є заповнення табло випадковими цифрами. Для заповнення табло випадковими цифрами використовується функція random, яка є генератором випадкових цифр, але працює відповідно тільки з цифрами, а у нас строковий двовимірний масив. p> Проаналізувавши вище сказане, приходимо до того, що необхідно створити два масиви. Один одновимірний з шістнадцяти елементів типу integer, другий двовимірний, чотири на чотири, типу string. Спочатку одновимірний масив, в випадковому порядку, заповнюється цілими неповторяющимися цифрами від 1 до 16, а потім залежно від розташування цифр, заповнюється двовимірний строковий масив. Приміром, якщо перший елемент одновимірного масиву дорівнює цифрі 11 тоді першому елементу двовимірного масиву буде присвоєно рядок В«11В».
Загальний алгоритм даного розділу полягає в наступному (Схема 4):
- Вибір випадкового числа;
- Перевірка на наявність збігів у масиві;
- Занесення інформації в масив;
- Перевірка чи заповнений масив;
- Заповнення двовимірного масиву.
В
Так
В
Ні
В
Ні
В
Так
В
Схема 4 - Розділ Табло
5.3.2.1 Вибір випадкового числа.
Деякою змінної b присвоюється випадкове число, за допомогою функції random. При чому функція random обмежена інтервалом від 1 до 16. br/>
5.3.2.2 Перевірка на наявність збігів у масиві
Мінлива b порівнюється з кожним елементом масиву bs [i], за допомогою інструкцій For і if. Якщо такий елемент вже присутній в одновимірному масиві, тоді змінної b, знову присвоюється випадкове число. Так відбувається до тих пір, поки змінної b НЕ буде присвоєна цифра, якої ще немає в масиві.
5.3.2.3 Занесення інформації в масив.
Значення змінної b, яке було знайдено раніше, вноситься в масив bs [i], за останнім елементом внесений до масив
5.3.2.4 Перевірка чи заповнений масив.
Програма перевіряє чи заповнений масив повністю, якщо ні, то алгоритм починається з пункту 5.3.2.1. p> У результаті ми маємо одновимірний масив заповнений, у випадковому порядку неповторним цифрами від 1 до 16.
5.3.2.5 Заповнення двовимірного масиву.
Заповнення двовимірного масиву, за допомогою інструкції For і змінних i і j, які позначають стовпець і рядок. p> Алгоритм заповнення двовимірного масиву полягає в наступному:
- Спочатку змінної z присвоюється одиниця. Дана змінна нам необхідна як лічильник. p> - Кожному елементу j рядки і i стовпця присвоюється строковий елемент, залежно від цифри стоїть під номером z в одновимірному масиві, якщо поточної елемент одновимірного масиву містить цифру 8, то поточному елементу двовимірного масиву присвоюється строковий елемент В«8В». Винятком становить цифра 16. У цьому випадку в двовимірний масив вводиться пробіл. Вибір строкового елементу здійснюється за допомогою інструкції case. p> - Так відбувається до тих пір, поки двовимірний масив не буде повністю заповнений.
5.3.3 Висновок табло.
У даному розділі на екрані з'являється табло з поточною комбінацією цифр. Спочатку, табло заповнюється випадковим чином п. 5.3.2, а в подальшому на екрані буде відображено поточне стану цифр на табло, залежно від зроблених користувачем ходів.
Даний розділ реалізований в процедурі Vivod.
Загальний алгоритм даного розділу полягає в наступному (Схема 5):
- Промальовування клітин;
- Промальовування рамки;
- Висновок елементів масиву по верх клітин табло.
В
Схема 5 - Розділ Висновок
5.3.3.1 Промальовування клітин.
Малювання клітин здійснюється в наступному порядку:
- Визначення розміру майбутніх клітин, за допомогою двох змінних (h1, w1, координати верхньої лівої і правої нижньої точок);
- При допомогою процедури SetFillStyle, задаємо потрібний колір і стиль заповнення. Колір виберемо синій, а стиль заповнення візьмемо SolidFill - суцільна заливка поточному кольором, тобто синім.