Построение шахматного поля с расставлением шашек в начальной позиции - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Построение шахматного поля с расставлением шашек в начальной позиции.

Решение задачи: «Построение шахматного поля с расставлением шашек в начальной позиции»

textual
Листинг программы
uses graphabc;
Var i,j,c:integer;
begin
setwindowsize (500,500);
rectangle(49,49,451,451);
for i:=1 to 8 do
for j:=1 to 8 do
 begin
  if (i+j) mod 2=0 then
  c:=clwhite else c:=clblack;
  setpencolor(c);
  setbrushcolor(c);
  rectangle(i*50,j*50,(i*50)+50,(j*50)+50);
  if (j<=3) and ((i+j) mod 2=1) then
   begin
    setpencolor(clyellow);
    setbrushcolor(clyellow);
    circle((i*50)+25,(j*50)+25,20);
  end;
  if (j>=6) and ((i+j) mod 2=1) then
   begin
    setpencolor(clbrown);
    setbrushcolor(clbrown);
    circle((i*50)+25,(j*50)+25,20);
   end;
  setfontsize(14);
  setbrushstyle(bsclear);
  textout(30,(i*50)+10,inttostr(9-i));
  textout((i*50)+20,460,chr(i+96));
 end;
end.

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

  1. Подключается библиотека graphabc.
  2. Задаются переменные i, j, c типа integer.
  3. Устанавливается размер окна графического интерфейса 500x500.
  4. Вычисляется и рисуется прямоугольник размером 49x49, занимающий левый верхний угол поля.
  5. Запускается цикл for для i от 1 до 8 и для j от 1 до 8.
  6. Внутри цикла проверяется условие (i+j) mod 2=0. Если оно истинно, то переменной c присваивается значение clwhite (белый цвет), если ложно - clblack (черный цвет).
  7. Устанавливается цвет пера и кисти на цвет переменной c.
  8. Рисуется квадрат размером (i50)x(j50) в позиции (i50,j50).
  9. Если j меньше или равно 3 и (i+j) mod 2=1, то устанавливается цвет пера и кисти на clyellow (желтый цвет) и рисуется окружность диаметром 20 в позиции (i50)+25, (j50)+25.
  10. Если j больше или равно 6 и (i+j) mod 2=1, то устанавливается цвет пера и кисти на clbrown (коричневый цвет) и рисуется окружность диаметром 20 в позиции (i50)+25, (j50)+25.
  11. Устанавливается размер шрифта на 14.
  12. Устанавливается стиль кисти на bsclear.
  13. Выводится текст 30 (i*50)+10, что соответствует номеру клетки в строке от нижнего левого до верхнего правого угла текущего столбца.
  14. Выводится текст (i*50)+20,460, что соответствует номеру столбца от левого до правого края текущего ряда.
  15. Цикл for завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

10   голосов , оценка 3.9 из 5
Похожие ответы