СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Pascal (Паскаль)

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Pascal (Паскаль)»

uses crt,graph;

procedure Kletka(x1,y1,c:integer;d:integer);//рисование клеток

begin

Setcolor(c);//2 цвета, темный и светлый

Setfillstyle(1,c);

Bar(x1,y1,x1+d,y1+d);//закрашенные квадраты

end;

procedure Kon(v,g,x1,y1,r:integer);//поле с конем

begin

setcolor(2);

setlinestyle(0,0,3);

Circle(x1+r*(2*v-1),y1+r*(2*g-1),r-3);

settextstyle(0,0,3);

OuttextXY(x1+r*(2*v-1)-10,y1+r*(2*g-1)-10,'K');

end;

procedure Pole(j,i,x1,y1,r:integer);//поля, которые бъются

begin

settextstyle(0,0,3);

setcolor(1);//рисуем крестик синего цвета

line(x1+r*(2*j-1)-10,y1+r*(2*i-1)-10,x1+r*(2*j-1)+10,y1+r*(2*i-1)+10);

line(x1+r*(2*j-1)-10,y1+r*(2*i-1)+10,x1+r*(2*j-1)+10,y1+r*(2*i-1)-10);

end;

var gd,gm,x1,y1,x2,y2,d1,i,j,r:integer;

    g,v:byte;

    f:text;

begin

assign(f,'kon.txt');

reset(f);

read(f,v,g);//читаем из файла 2 числа - 1-номер вертикали от 1 до 8 слева направо

            //2- номер горизонтали от 1 до 8 снизу вверх, наапример поле d5= 4 5

g:=8-g+1;//переворачиваем горизонтали

initgraph(gd,gm,'');

d1:=round((getmaxY-60)/8);//размер клеток

r:=d1 div 2;//радиус

Setcolor(4);//обрамление доски

Rectangle(1,1,8*d1+50,8*d1+60);

Setfillstyle(1,4);

Bar(1,1,8*d1+50,8*d1+60);

x1:=30;y1:=20;//начало координат

for i:=1 to 8 do

  begin

    for j:=1 to 8 do

    if odd(i+j) then Kletka(x1+d1*(i-1),y1+d1*(j-1),15,d1)//если нечетная сумма индексов - светлая клетка

    else Kletka(x1+d1*(i-1),y1+d1*(j-1),6,d1);//четная - темная

  end;

Setcolor(0);

for i:=0 to 7 do

outtextxy(30+d1*i+d1 div 2,450,chr(ord(i+97)));//подписи вертикалей

for i:=7 downto 0 do

outtextxy(20,440-d1*i-d1 div 2,chr(ord(i+49)));//подписи горизонталей

Kon(v,g,x1,y1,r);//клетка с конем

for i:=1 to 8 do

for j:=1 to 8 do

if ((abs(i-g)=1)and(abs(j-v)=2))or((abs(i-g)=2)and(abs(j-v)=1))then

Pole(j,i,x1,y1,r);//клетки которые бъются

readln;

end.




Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!