# Let's make a game

Today we are going to learn how to make this game:

## Making a circle

```void setup() {
ellipse(50, 50, 50, 50);
}
void draw() {
}
```

Now press the Play button. You should see this on your screen:

## Making the canvas bigger

```void setup() {
size(640, 360);
ellipse(50, 50, 50, 50);
}
void draw() {
}
```

Now press the Play button. You should see this on your screen:

## Making more circles

```void setup() {
size(640, 360);
ellipse(50, 50, 50, 50);
ellipse(10, 10, 30, 30);
ellipse(100, 100, 200, 200);
}
void draw() {
}
```

Now press the Play button. You should see this on your screen:

## Color

```void setup() {
size(640, 360);
ellipse(50, 50, 50, 50);
fill(200, 120, 250);
ellipse(10, 10, 30, 30);
fill(255, 200, 200);
ellipse(100, 100, 200, 200);
}
void draw() {
}
```

Now press the Play button. You should see this on your screen:

## Moving circle with mouse

```void setup() {
size(640, 360);
}
void draw() {
fill(0,100,0);
ellipse(mouseX, mouseY, 50, 50);
}
```

Now press the Play button. You should see this on your screen:

## Erasing the screen each time

```void setup() {
size(640, 360);
}
void draw() {
background(255);
fill(0,100,0);
ellipse(mouseX, mouseY, 50, 50);
}
```

Now press the Play button. You should see this on your screen:

## Reacting to mouse press

```void setup() {
size(640, 360);
}
void draw() {
background(255);
ellipse(mouseX, mouseY, 50, 50);
}
void mousePressed() {
fill(100,0,0);
}
void mouseReleased() {
fill(0,100,0);
}
```

Now press the Play button. You should see this on your screen:

## Counting number of clicks

```int clicks = 0;

void setup() {
size(640, 360);
}
void draw() {
background(255);
ellipse(mouseX, mouseY, 50, 50);
text("Clicks: " + clicks, 100, 100, 100, 100);
}
void mousePressed() {
clicks += 1;
fill(100,0,0);
}
void mouseReleased() {
fill(0,100,0);
}
```

Now press the Play button. You should see this on your screen:

```int clicks = 0;

int targetX = 100;
int targetY = 200;
int targetSize = 50;

void setup() {
size(640, 360);
}
void draw() {
background(255);
ellipse(mouseX, mouseY, 50);
text("Clicks: " + clicks, 100, 100, 100, 100);
ellipse(targetX, targetY, targetSize);
}
void mousePressed() {
clicks += 1;
fill(100,0,0);
}
void mouseReleased() {
fill(0,100,0);
}
```

Now press the Play button. You should see this on your screen:

## Checking if we clicked target

```int clicks = 0;

int targetX = 100;
int targetY = 200;
int targetSize = 50;

void setup() {
size(640, 360);
}
void draw() {
background(255);
ellipse(mouseX, mouseY, 50, 50);
text("Clicks: " + clicks, 100, 100, 100, 100);
ellipse(targetX, targetY, targetSize, targetSize);
}
void mousePressed() {
int targetRadius = targetSize / 2;
int targetLeft = targetX - targetRadius;
int targetRight = targetX + targetRadius;
int targetTop = targetY - targetRadius;
int targetBottom = targetY + targetRadius;

if(mouseX > targetLeft && mouseX < targetRight && mouseY > targetTop && mouseY < targetBottom) {
clicks += 1;
}

fill(100,0,0);
}
void mouseReleased() {
fill(0,100,0);
}
```

Now press the Play button. You should see this on your screen:

## Moving target when clicked

```int clicks = 0;
int targetX = 100;
int targetY = 200;
int targetSize = 50;

void setup() {
size(640, 360);
}
void draw() {
background(255);
ellipse(mouseX, mouseY, 50, 50);
text("Clicks: " + clicks, 100, 100, 100, 100);
ellipse(targetX, targetY, targetSize, targetSize);
}
void mousePressed() {
int targetRadius = targetSize / 2;
int targetLeft = targetX - targetRadius;
int targetRight = targetX + targetRadius;
int targetTop = targetY - targetRadius;
int targetBottom = targetY + targetRadius;
if(mouseX > targetLeft && mouseX < targetRight && mouseY > targetTop && mouseY < targetBottom) {
clicks += 1;
targetX = int(random(600));
targetY = int(random(300));
}
fill(100,0,0);
}
void mouseReleased() {
fill(0,100,0);
}
```

Now press the Play button. You should see this on your screen:

```int clicks = 0;
int targetX = 100;
int targetY = 200;
int targetSize = 50;
int time = 100;

void setup() {
size(640, 360);
}
void draw() {
background(255);
ellipse(mouseX, mouseY, 50, 50);
text("Clicks: " + clicks, 100, 100, 100, 100);
text("Time: " + time, 100, 130, 100, 100);
time -= 1;
if(time <= 0) {
time = 100;
clicks = 0;
}
ellipse(targetX, targetY, targetSize, targetSize);
}
void mousePressed() {
int targetRadius = targetSize / 2;
int targetLeft = targetX - targetRadius;
int targetRight = targetX + targetRadius;
int targetTop = targetY - targetRadius;
int targetBottom = targetY + targetRadius;

if(mouseX > targetLeft && mouseX < targetRight && mouseY > targetTop && mouseY < targetBottom) {
clicks += 1;
time = 100;
targetX = int(random(600));
targetY = int(random(300));
}
fill(100,0,0);
}
void mouseReleased() {
fill(0,100,0);
}
```

Now press the Play button. You should see this on your screen:

```int clicks = 0;
int highScore = 0;
int targetX = 100;
int targetY = 200;
int targetSize = 50;
int time = 100;
void setup() {
size(640, 360);
}
void draw() {
background(255);
ellipse(mouseX, mouseY, 50, 50);
text("High Score: " + highScore, 100, 70, 100, 100);
text("Clicks: " + clicks, 100, 100, 100, 100);
text("Time: " + time, 100, 130, 100, 100);
time -= 1;
if(time <= 0) {
time = 100;
clicks = 0;
}
ellipse(targetX, targetY, targetSize, targetSize);
}
void mousePressed() {
int targetRadius = targetSize / 2;
int targetLeft = targetX - targetRadius;
int targetRight = targetX + targetRadius;
int targetTop = targetY - targetRadius;
int targetBottom = targetY + targetRadius;
if(mouseX > targetLeft && mouseX < targetRight && mouseY > targetTop && mouseY < targetBottom) {
clicks += 1;

if(clicks > highScore) {
highScore = clicks;
}

time = 100;

targetX = int(random(600));
targetY = int(random(300));

}
fill(100,0,0);
}
void mouseReleased() {
fill(0,100,0);
}
```

Now press the Play button. You should see this on your screen: