int startTimeMs;
// The time until the game starts, in milliseconds
final int startDelayMs = 5000;
boolean atStartup = true;
int gameWidth = 600;
int gameHeight = 500;
int diameter = 20;
//Ball Placement
float x,y;
int dx = -3;
int dy = 1;
//Value of lives
int score = 0;
int lives = 5;
//Gravity
float gravity = 0.98;
float bounce = -1;
void setup(){
size(600,500);
// Current time, in milliseconds
startTimeMs = millis();
noStroke();
x = random(0,width-diameter);
y = random(0,height-diameter);
}
void draw(){
//Countdown for Startup
if (atStartup) {
// The current time, in milliseconds
int curTimeMs = millis();
// The remaining time in the startup period
int startupTimeRemainingMs = startDelayMs - (curTimeMs - startTimeMs);
startScreen(startupTimeRemainingMs);
atStartup = startupTimeRemainingMs > 0;
// Short-circuit if we’re still in the startup phase.
return;
}
//Countdown Screen
background(240);
fill(0);
textAlign(CENTER,CENTER);
text(“GO!”, gameWidth/2, gameHeight/2);
//Game
background(60,211,202);
fill(0);
text(“Score:” + score,10,10);
text(“Lives:” + lives,10,30);
//Where the ball positions
ellipse(x,y,diameter,diameter);
if((x > width-diameter/2) || (x < diameter/2)) {
dx*=-1;
fill(random(0,255),random(0,255),random(0,255));
}
if(y > height-diameter/2 || y < diameter/2) {
dy*=-1;
fill(255);
}
//Changes in diameter
x=x+dx;
y=y+dx;
//
}
//Start Screen
void startScreen(int remainingTimeMs){
background(50);
textSize(100);
fill(0);
textAlign(CENTER,CENTER);
// Show the remaining time, in seconds;
// show n when there are n or fewer seconds remaining.
text(ceil(remainingTimeMs/1000.0), gameWidth/2, gameHeight/2);
}
//Lives
void mousePressed() {
if(dist(mouseX,mouseY,x,y) < 20) {
textSize(10);
score +=1;
}else{
lives = lives -1;
}
}