Lesson 15
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:
Adding a 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); 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:
Adding a timer
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:
Adding a high score
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: