MODULE Tile; IMPORT Geometry, Shape, Angle; PROC TrianglePath(a, b, c) IS PS.MoveTo(a); PS.LineTo(b); PS.LineTo(c); PS.LineTo(a) END; PROC Triangle(a, b, c) IS TrianglePath(a, b, c); PS.SetRGB(0.2, 0.6, 0.6); PS.Fill(); TrianglePath(a, b, c); PS.SetRGB(0, 0, 0); PS.Stroke() END; PRED TrapezoidHV(s, t, x, w, a, b) IS (E v ~ (0.9, 0) REL (s, t) :: Geometry.Colinear(s, v, t) AND Angle.Right(t, v, w) AND s HOR x AND t VER w AND (s, t) PARA (x, w) AND (a, b) CONG (v, w)) END; PROC Board(a, b) IS Shape.Rect(a, b); PS.SetRGB(0.6, 0.3, 0.3); PS.Fill(); Shape.Rect(a, b); PS.SetRGB(0, 0, 0); PS.Stroke() END; PROC Test() IS SAVE PS IN PS.SetRGB(1, 0, 0); PS.Fill() END END;