Programming Challenge: Create a maze game. Constraints: 1. The red player sprite should move smoothly around the screen with the arrow keys. 2. When the player touches a wall, it should move back to the beginning of the maze. 3. When the player touches the goal, "You Win!!!" should be displayed. EXTENSION CHALLENGES: (Complete in order.) Extension Challenge #1: Add a button-activated door. Constraints: 1. When the green flag is clicked, the door should be covering the goal area and preventing the player from reaching it, and the button should be in the upper left corner. 2. If the player touches the door, the sprite should return to the start. 3. When the player touches the button, the button should disappear, and the door should slowly open and stop 90 degrees from the starting position. Extension Challenge #2: Add a moving obstacle to the maze. Constraints: 1. The obstacle should be placed in the middle of the screen and rotate continually. 2. The speed of rotation should be fast enough to provide some challenge in getting through, but it should not be very tough or impossible. 3. If the sprite touches the obstacle, it should return to the start position.