День 3

День 3

Кванта.Літо 2020


Завдання 1: під полем намалювати квадрати кожного кольору та прономерувати їх.

Кожен хід гри - це перефарбовування клітинок гравця у якийсь інший колір з метою приєднання інших клітинок до своїх. Для цього нам потрібні кнопки, за допомогою яких гравець буде обирати, у який колір він хоче перефарбуватися. Отже, зробимо під основним полем квадрат кожного кольору, які будуть відповідати за вибір кольору перефарбування.

На попередньому занятті ми створили масив

У ньому зберігаються всі кольори, які можуть бути на ігровому полі. Використовуючи його, можна циклом намалювати всі квадрати, а пізніше прономерувати кожен з них.

Важливо: виконання цього завдання варто винести у окрему процедуру.


Завдання 2: зробити, щоб користувачі по черзі могли перефарбовувати свою початкову клітинку у один з кольорів.

Почнемо описувати ходи гравців, під час яких вони будуть змінювати кольори своїх клітинок. Для цього створимо процедуру

Ця процедура буде відповідати за виконання одного ходу одним гравцем (який саме гравець зараз ходить буде передаватися у процедуру змінною player).

Все, що робить гравець під час свого ходу - це обирає колір. Обирати він буде за допомогою введення числа (одне з тих, якими ми пронумерували наші кольори у попередньому завданні), тобто нам потрібно використовувати read(c);


Після того, як гравець обрав колір ми замалюємо у цей колір його початкову клітинку за допомогою FloodFill(x, y, color) - команда, яка замальовує поле у даний колір. На цьому хід гравця завершується, а отже закінчується наша процедура makeMove.

Оскільки ходів у нас буде дуже багато, то процедуру makeMove варто запускати у циклі в основній частині програми. Також варто створити змінну, де ми будемо зберігати чий зараз хід, а після кожного ходу змінювати її та передавати у процедуру makeMove

Report Page