Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабараторные работы Лукины ИМЭ 101г.docx
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
193.09 Кб
Скачать

InitGraph (gd, gm, '');

Rectangle (20, 20, Getmaxy-20, Getmaxy-20);

H:=(GetMaxY-40) Div 8;

For I:=1 To 7 Do

Begin

Line(I*H+20, 20, I*H+20, Getmaxy-20);

Line(20, I*H+20, Getmaxy-20, I*H+20);

End;

For I:=1 To 8 Do

Begin

Outtextxy(I*H-10, 10, Chr(64+I));

Outtextxy(10, I*H-10, Chr(48+I));

End;

{Цикл закраски квадратов на игральной доске}

For I:=1 To 8 Do

For J:=1 To 8 Do

Begin

If (I+J) Mod 2<>0 Then

P:=7

Else

P:=0;

SetFillStyle(1,P);

Floodfill(20+I*H-2, 20+J*H-2,15);

End;

H1:=H Div 2;

{Рисование белой шашки}

SetColor(1);

Circle(6*H+20-H1, 2*H+20-H1, H1-4);

SetFillstyle(1, 15);

Floodfill(6*H+20-H1, 2*H+20-H1, 1);

{Рисование черной шашки}

Circle(5*H+20-H1, 1*H+20-H1, H1-4);

SetFillstyle(1,6);

Floodfill(5*H+20-H1, 1*H+20-H1, 1);

{Рисование белой шашки}

Circle(7*H+20-H1, 5*H+20-H1, H1-4);

SetFillStyle(1,15);

Floodfill(7*H+20-H1, 5*H+20-H1, 1);

{Рисование черной шашки}

Circle(6*H+20-H1, 6*H+20-H1,H1-4);

SetFillStyle(1, 6);

Floodfill(6*H+20-H1, 6*H+20-H1, 1);

Repeat

Until KeyPressed and (ReadKey='1');

{Удаление белой шашки}

SetColor(0);

Circle(7*H+20-H1, 5*H+20-H1, H1-4);

SetFillStyle(1,0);

Floodfill(7*H+20-H1, 5*H+20-H1, 0);

{Рисование белой шашки}

SetColor(1);

Circle(5*H+20-H1, 7*H+20-H1, H1-4);

SetFillStyle(1,15);

Floodfill(5*H+20-H1, 7*H+20-H1, 1);

{Удаление черной шашки}

Circle(6*H+20-H1, 6*H+20-H1, H1-4);

SetFillStyle(1,0);

Floodfill(6*H+20-H1, 6*H+20-H1, 0);

Repeat

Until KeyPressed and (ReadKey='2');

{Удаление черной шашки}

SetColor(0);

Circle(5*H+20-H1, 1*H+20-H1, H1-4);

SetFillStyle(1,0);

Floodfill(5*H+20-H1, 1*H+20-H1, 0);

{Рисование черной шашки}

SetColor(1);

Circle(7*H+20-H1, 3*H+20-H1, H1-4);

SetFillStyle(1,6);

Floodfill(7*H+20-H1, 3*H+20-H1, 1);

{Удаление белой шашки}

SetColor(1);

Circle(6*H+20-H1, 2*H+20-H1, H1-4);

SetFillStyle(1,0);

Floodfill(6*H+20-H1, 2*H+20-H1, 0);

Repeat

Until KeyPressed and (ReadKey='3');

End.

Результаты работы программы к заданию №2:

Вид шахматной доски перед первым ходом

Вид шахматной доски после первого хода

Вид шахматной доски после второго хода