// command command forever
//
command box L R T B
{
Repeat A L R
{
line A T A B
}
}
//create boxes
Box 99 10 0 100
pen 10
box 10 92 18 39

//triangle is simple to code
command triangle H1 V1 H2 V2 H3 V3
{
LINE H1 V1 H2 V2
LINE H2 V2 H3 V3
LINE H3 V3 H1 V1
}
pen 60
// a test pattern
repeat A 1 13
{
triangle (A*2) 0 (A*6) (A*7) (A*58) 75
}
//a line command a la bresenham
command line AX AY BX BY GVAL
{
set CX AX
set Cy Ay
//get absolute distances
set BAX (BX-AX)
set BAY (BY-AY)
smaller? BAX 0
{
set DX (0-BAX)
}
}

// a test pattern
pen 0
line 0 100 30 60
Repeat A 0 25
{
line 50 50 (A*4) (A*4)
}

//a field of gray tone
command field L B R T G
{
pen G
repeat H L R
{
Line H T H B
}
}
// a test pattern
repeat A 0 2
{
repeat B 0 10
{
set A1 (A*70)
set B1 (B*20)
set A1 (A1+1)
set B1 (B1+10)
field A1 B1 (A1+3) (B1+30) (A1+10)
set B1 (B1+5)
set A1 (A1+5)
field A1 B1 (A1+3) (B1+3) (B*10)
}
}

//the art of concealment
load dbngraphics.dbn
//pen 0
circle 70 20 16 100
//perpetually lost.