size(0,300);

import flowchart;

block block1=rectangle(Label("Example",magenta),
                      pack(Label("Start:",heavygreen),"",Label("$A:=0$",blue),
                           "$B:=1$"),(-0.5,3),palegreen,paleblue,red);
block block2=diamond(Label("Choice?",blue),(0,2),palegreen,red);
block block3=roundrectangle("Do something",(-1,1));
block block4=bevel("Don't do something",(1,1));
block block5=circle("End",(0,0));

draw(block1);
draw(block2);
draw(block3);
draw(block4);
draw(block5);

add(new void(picture pic, transform t) {
   blockconnector operator --=blockconnector(pic,t);
   //    draw(pic,block1.right(t)--block2.top(t));
   block1--Right--Down--Arrow--block2;
   block2--Label("Yes",0.5,NW)--Left--Down--Arrow--block3;
   block2--Right--Label("No",0.5,NE)--Down--Arrow--block4;
   block4--Down--Left--Arrow--block5;
   block3--Down--Right--Arrow--block5;
 });