set spacing = 10

// include the dotmove procedure..
include dotmove

logo backcolor = "black"
logo wrapedges 
logo linecolor = "powderblue"
logo linethick = 0.5

set nstreets = buttonchoice "How many streets?" "50|100|150|200|500"

// do a random walk and capture points..
pointlist startcapture
moveto middle
repeat :nstreets [
  fd (calc 50 + (random 200))
  if (random 100) > 50 [ rt 90 ]
  else [ lt 90 ]
  ]
pointlist endcapture

// now convert to dots..
pointlist startcapture
  pointlist dotfill 15
pointlist endcapture

set ndots = buttonchoice "How many pawns?" "1|5|20|50|100|150"
message "Traffic" "Stop"

// compute spacing and make some settings..
set spacing = calc (pointlist size) / :ndots
if :ndots <= 5 [ set waitval = 0.2 ]
else [ set waitval = 10 ]
logo linethick = 0.5

logo fillcolor = "red"
logo linecolor = backcolor
// now move the dots..
//     ndots   spacing   offcolor   dotsize  wait
pu
dotmove :ndots  :spacing  "purple"    4     :waitval
