Нарисовать шахматную доску - Pascal ABC (16769)
Формулировка задачи:
Нужно с помощью цикла вайл и графического модуля создать "шахматную доску" (раскрасить их так)
Решение задачи: «Нарисовать шахматную доску»
textual
Листинг программы
uses graphABC; var x,y,x1,y1,d,c,i,j:integer; begin d:=(WindowHeight-40) div 8;//размер клеток; i:=1; x1:=WindowWidth div 2-4*d;//левый край y1:=WindowHeight div 2-4*d;//верх y:=y1; while y<WindowHeight-y1-d do begin x:=x1; j:=1; while x<WindowWidth-x1-d do begin if(i+j)mod 2=0 then c:=clWhite else c:=clBlack; Setpencolor(c); Setbrushcolor(c); rectangle(x,y,x+d,y+d); x:=x+d; j:=j+1; end; y:=y+d; i:=i+1; end; setpencolor(clBlack); setbrushstyle(bsClear); rectangle(x1,y1,x1+8*d,y1+8*d) end.
Объяснение кода листинга программы
- Подключается библиотека graphABC.
- Объявляются переменные: x, y, x1, y1, d, c, i, j: integer;
- Вычисляется размер клеток: d = (WindowHeight — 40) / 8;
- Инициализируются переменные x1 и y1: x1 = (WindowWidth / 2 - 4 d); y1 = (WindowHeight / 2 - 4 d);
- Инициализируется переменная y: y = y1;
- Запускается цикл while: while y < WindowHeight — y1 - d do begin x = x1; j = 1; while x < WindowWidth — x1 - d do begin Если (i + j) mod 2 = 0 then c = clWhite else c = clBlack; Устанавливается цвет пера c; Устанавливается цвет кисти c; Регулируется размер кисти до 8 d; Прямоугольник (x, y, x + d, y + d); x = x + d; j = j + 1; end; y = y + d; i = i + 1; end; Устанавливается цвет пера и кисти на черный; end;
- Выводится прямоугольник в левом верхнем углу доски с помощью функции rectangle.
- Конец программы.