xxxxxxxxxx
96
let streak = 0
let highestStreak = 0
function setup() {
createCanvas(400, 400);
let saved = getItem("Circle-HighScore")
if(saved == null) storeItem("Circle-HighScore", 0)
saved = getItem("Circle-HighScore")
highestStreak = saved
}
let cooldown = 1
let cooldownTimer = 0
let yay = false
let time = 0
let speed = 0
let maxSpeed = 200
let cPos = 0
let instructions = true
function draw() {
let dt = round(deltaTime/1000,3)
time += dt
cooldownTimer -= dt
cooldownTimer = max(0,cooldownTimer)
cPos += dt*(100+speed)
cPos = cPos % 500
background(220);
noFill()
stroke(0)
strokeWeight(1)
let d = 0
if(keyIsPressed || mouseIsPressed){
d = -5
if(cooldownTimer <= 0 && abs(250 - cPos) < 10){
yay = true
streak++
if(streak > highestStreak){
highestStreak++
storeItem("Circle-HighScore", highestStreak)
}
if(speed < maxSpeed) speed += 10
if( round(random(1,3)) == 3 && speed > 50) speed -= 20
instructions = false
}
cooldownTimer = cooldown
}
if(cPos < 150) yay = false
if(cPos > 300 && !yay){
streak = 0
speed = 0
}
circle(200,200,100 + d)
line(0,200.5,150 * ((cooldown - cooldownTimer)/cooldown) - d/2,200.5)
line(250 + d/2 + 150 * ((cooldownTimer)/cooldown),200.5,400,200.5)
if(yay) fill(0)
circle(200,cPos - 50,90)
noStroke()
fill(0)
textSize(16)
textAlign(CENTER,BOTTOM)
text("streak: " + streak, 70,195)
text("best streak: " + highestStreak, 330,195)
if(instructions) text("Press anything when the circle is in the ring.",200,300)
}