Нарисовать шахматную доску - 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.

Объяснение кода листинга программы

  1. Подключается библиотека graphABC.
  2. Объявляются переменные: x, y, x1, y1, d, c, i, j: integer;
  3. Вычисляется размер клеток: d = (WindowHeight — 40) / 8;
  4. Инициализируются переменные x1 и y1: x1 = (WindowWidth / 2 - 4 d); y1 = (WindowHeight / 2 - 4 d);
  5. Инициализируется переменная y: y = y1;
  6. Запускается цикл 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;
  7. Выводится прямоугольник в левом верхнем углу доски с помощью функции rectangle.
  8. Конец программы.

Оцени полезность:

11   голосов , оценка 4.091 из 5