Scratch Game
60 mins
245 points
What you need:
• Computer/laptop

# Attack of the Dots

In this project we create a game where you control a coloured disc and you must spin it to match the coloroured dots that are attacking!

### 1 - Remix the starter project

We've created a starter project that has some custom sprites for this game.

Go to the starter project at the below link and click on the Remix button to create a copy of the project.

### 2 - Make the disc spin

In this game coloured balls will move towards the disc in the middle. You need to spin the wheel to match the colour of each ball as it hits the wheel. So we'll program the left and right arrow keys on our keyboard to spin the wheel in each direction.

Add the following code to the 'wheel' sprite:

``` when green flag clicked go to x[0] y [0] // place it in the center set size to [30]% // resize the wheel to 30% forever if < key (left arrow v) pressed? > then turn ccw (3) degrees // turn anti clockwise end if < key (right arrow v) pressed? > then turn cw (3) degrees // turn clockwise end end ```

Once you've added the code, click the green flag and test if your arrow keys spin the ball!

### 3 - Clone the ball

In the game, the balls should appear every few seconds, in a random position and start moving towards the wheel.

Add the following code to the green ball called 'Sprite1':

``` when green flag clicked hide forever wait (pick random (4) to (8)) seconds // wait a random number of seconds create clone of (myself v) // create the clone end when I start as a clone go to (random position v) // start in a random position point towards (wheel v) // point in the direction of the wheel show ```

### 4 - Not too close!

We don't want the balls appearing too close to the wheel as it won't give us much time to react. So to prevent this add the following code to 'Sprite1' which detects where the ball is when it's cloned and deletes it if it's too close.

``` when I start as a clone go to (random position v) point towards (wheel v) show // add new code under here if < ( distance to (wheel v)) < (100) > then delete this clone end ```

### 5 - Make them move

Now that they're appearing randomly every few seconds we need to make them start moving towards the wheel. We've already used a block to point them at the wheel so now we just need to add this code to 'Sprite1':

``` when I start as a clone go to (random position v) point towards (wheel v) show if < ( distance to (wheel v)) < (100) > then delete this clone end forever // add this code move (2) steps end ```