use delay() to implement orderShot, but the delay affected draw()