I believe you'll want to clear your canvas before each sprite draw with:
c.clearRect(0, 0, canvas.width, canvas.height)
This'll give you a clean slate to draw on for each frame of your animation loop, effectively resolving the "stacking" issue you were mentioning.
Let me know if that works (thanks for the video by the way, makes it super helpful for debugging).
Want to participate?
Create a free Chris Courses account to begin