/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
TestSuite/CompilationSamples/StampCross.pas
54 строки
1021 B
Artem Pelenitsyn
change encoding for all *.pas and *.cs files: cp1251 -> utf-8
28 дек 2015, 14:25
28 дек 2015, 14:25
49378a6
Код
Авторство
О чём код?
// Класс штампа креста uses GraphABC; type CrossStamp = class x,y,w: integer; constructor (xx,yy,ww: integer); begin x := xx; y := yy; w := ww; end; procedure Stamp; begin MoveTo(x,y); LineTo(x+w,y); LineTo(x+w,y+w); LineTo(x+2*w,y+w); LineTo(x+2*w,y); LineTo(x+3*w,y); LineTo(x+3*w,y-w); LineTo(x+2*w,y-w); LineTo(x+2*w,y-2*w); LineTo(x+w,y-2*w); LineTo(x+w,y-w); LineTo(x,y-w); LineTo(x,y); end; procedure MoveOn(dx,dy: integer); begin x += dx; y += dy; end; procedure MoveOnRel(a,b: integer); begin MoveOn(a*w,b*w); end; function Clone(): CrossStamp; begin Result := new CrossStamp(x,y,w); end; end; begin var r := new CrossStamp(100,150,20); for var k:=1 to 2 do begin var r1 := r.Clone; for var i:=1 to 8 do begin r1.Stamp; r1.MoveOnRel(2,1); end; r.MoveOnRel(-1,2); end; end.