тільки корисні матеріали
Головний акціонер Alibaba став найбагатшою людиною в Китаї
статті
Microsoft почала закрите тестування Office 16
статті
Фахівці знайшли діри в безпеці Windows 8.1
статті
У московському метро з'явиться єдина мобільна мережа
статті
eBay буде приймати Bitcoin
статті
Vivitek представила «шкільний» проектор D755WTIR
статті
У Твіттері з'явилася кнопка «Купити»
статті
«Яндекс.Новини» тепер можна переглядати і на iPhone
статті
Зараз ми займаємося написанням простий графічної іграшки, суть якої за відведений час встигнути знайти всі фігури однакового кольору. Не знаю як точніше передати зміст цієї гри. в загальному, далі ви все самі зрозумієте)
Якщо захочете дізнатися вартість SEO послуг, то відвідайте сайт netsend.ru.
Як завжди відкриваємо Delphi і створюємо новий проект. Відразу кидаємо на форму компонент DrawGrid з закладки Additional. У нього нам потрібно змінити ряд властивостей:
1. Властивість ColCount - зробіть рівним 20
2. Властивість RowCount - теж 20
3. Властивість DefaultColWidth = 20
4. Властивість DefaultRowHeight = 20
5. FixedCols = 0
6. FixedRows = 0
7. DefaultDrawing = False
В результаті у вас повинно вийти щось схожі.
Тепер ми повинні довільно присвоїти кожній клітинці певний колір. Всього квітів у нас буде 3 (червоний, зелений і синій).
Переходимо в код і вище ключового слова var вставляємо ось такий код
const
MAX_COLORS = 3;
const
PossibleColors. array [0..MAX_COLORS-1] of TColor = (clRed, clBlue, clGreen);
Далі, нам знадобитися створити двомірний масив, в осередках якого будуть зберігатися кольору відповідних квадратів. тому розмір ігровий області у нас 20 на 20, відповідно і масив у нас буде такий же розмірності. Але для початку давайте оголосимо парочку констант в яких буде зберігатися розмір ігровий області. Знову ж над ключовим словом var напишемо наступний код:
Const
MAX_COLUMNS = 20;
MAX_ROWS = 20;
А тепер створимо масив. Робити ми це будемо після ключового слова var тобто одразу ж після:
ColorOfBrick. array [0..MAX_COLUMNs, 0..MAX_ROWS] of TColor;
Рухаємося далі, зараз нам потрібно створити процедуру яка буде при запуску гри випадковим чином призначати квадратах відповідні кольори. Після ключового слова public пишемо
Натискаємо комбінацію клавіш CTRL + SHIFT + C. вуаля і Delphi створив шаблон для нашої майбутньої процедури. Надалі я не буду детально розповідати про процес створення нової процедури або функції, якщо ви раптом що ні будь забудете поверніться на це місце. Тепер коли шаблон для процедури у вас вже створено подивіться на те що має з неї вийти в підсумку і додайте відсутні рядки.
procedure TForm1.AssignBrickColors;
var
i, j. integer;
begin
for i: = 0 to Form1.DrawGrid1.ColCount-1 do
for j: = 0 to Form1.DrawGrid1.RowCount-1 do
ColorOfBrick [i] [j]: = PossibleColors [Random (MAX_COLORS)]
end;
Впоралися. я сподіваюсь що так. Давайте дамо можливість гравцеві починати нову гру тоді коли він цього захоче, для цього киньте на форму компонент Button (кнопка) з закладки Standard і відразу ж змініть у нього властивість Caption на "Нова Гра". Створюємо обробник подій OnClick на кнопці, клікнувши на ній два рази. Між begin і end пропишіть:
Звичайно ж при запуску, також необхідно починати нову гру, тому створюємо обробник подій onCreate на формі, знову ж між begin end пишемо:
Ну і наостанок створіть обробник подій OnDrawCell на компоненті DrawGrid напишіть там
DrawGrid1.Canvas.Brush.Color: = ColorOfBrick [ACol] [ARow];
DrawGrid1.Canvas.FillRect (Rect)
Запускаємо проект, ось що вийшло у мене:
Кінець 1-ої частини