In general, you want to have ONE main game loop.
If you have separate loops that do different things (e.g. moving the dragon in one loop, and moving the letter in another), you can't really run them in a way to get it to act like their both happening simultaneously.
So, instead, you just want ONE loop that does most things. That doesn't mean you can't have helper methods (e.g. like the distance(...) method to compute distances between points, or like the drawDragon(...) method that does all the graphics necessary to draw the dragon once, in a specific location).