I've noticed some errors in your examples. Page 17 in the coding and text where it says "bat_x=bat_x+3" in the function move_bat(). In page 40 under the same function move_bat() it changed to "bat_x=bat_x+bat_speed" without any explanation. Also on page 36 it says at the top "detect_collision" even though in previous examples say "check_collision".