На сегодняшний день нами уже созданы, по крайней мере должны быть созданы уже все игровые фигуры. Чтобы расположить их на едином игровом поле - нам понадобится создать это поле. Для тех, кто забыл как оно выглядит представлены рис.1 и рис.2. Сооружением шахматного поля мы и займёмся на этом уроке.
Как отмечалось выше, шахматная доска - это поле, состоящее их 64 квадратов. Квадраты расположены по схеме 8х8, имеют один из двух цветов (чёрный или белый) и расположены, как говорится в "шахматном порядке" (см. рис.2). По горизонтали сверху и снизу расположены 8 латинских букв, по вертикали слева и справа по 8 цифр.
Шахматная доска - интересный образец для построения. Её можно сделать очень разными способами, например:
прописать все 64 квадратика (а по факту параллелепипеда) со своим цветом и положением вручную (получится внушительных размеров код);
использовать циклы, модули и работу с переменными для повышения читабельности кода, удобства модификации и сокращения длины кода.
Первый вариант вначале может показаться более простым: придётся много поработать ручками, но зато не придётся ломать голову с циклами. Однако если осознать, что придётся не просто копировать текст, а ещё и для каждого параллелепипеда задавать свои особые координаты, которые надо держать в уме, то выигрышность первого варианта уже не кажется столь очевидной.
Условимся, что:
Размер каждой клетки будет 40 на 40 миллиметров.
Строим поле в плоскости XY.
Левый нижний угол поля находится в начале координат.
Каждый ряд будем строить слева-направо.
Нижний ряд будет построен первым, восьмой - последним.
Общий алгоритм может выглядеть примерно так:
Строим 4 чёрных клеточки первого ряда используя цикл.
Строим 4 белых клеточки первого ряда используя цикл.
Строим 4 белых клеточки второго ряда используя цикл.
Строим 4 чёрных клеточки второго ряда используя цикл.
Строим 4 чёрных клеточки первого ряда используя цикл.
Строим 4 белых клеточки первого ряда используя цикл.
Строим 4 белых клеточки второго ряда используя цикл.
Строим 4 чёрных клеточки второго ряда используя цикл.
5. Создаём цикл, который 4 раза со смещением копирует данную конструкцию вдоль оси X и создаст тем самым всю доску. Для этого будет удобным использовать команду объединения в единое целое всех созданных клеточек командой union() подробности работы которой можно посмотреть пройдя по ссылке.
6. Добавляем в проект ещё один параллелепипед, который будет чуть пониже клеточки и слегка выступать за их границы