xxxxxxxxxx
90
var xPos=[];
var yPos=[];
let coolChar = ["⭐"]
var grid = [
[false, false, false, false, false],
[false, false, false, false, false],
[true, false, true, false, true],
[false, false, false, false, false],
[false, false, false, false, false]
];
function setup() {
createCanvas(400, 400);
stroke(255, 0, 0);
for(let i=0; i<100; i++){
append(xPos, random(400))
append(yPos, random(-400,0))
}
}
function draw() {
var won = true;
for (var r = 0; r < grid.length; r++)
for (var c = 0; c < grid[r].length; c++)
if (grid[r][c] === true)
won = false;
if (won === true){
push();
background(0,0,0,30);
fill(0);
textAlign(CENTER);
textSize(75);
text("Good Job!", 200,200);
pop(0);
// star array after winning
let star = random(coolChar);
var i = 0;
while (i < xPos.length) {
let star = random(coolChar);
text(star, xPos[i], yPos[i]);
yPos[i]++;
xPos[i] = xPos[i] + random(-1, 1);
if (yPos[i] > 400) {
yPos[i] = 0;
}
i++;
}
}else
drawGrid();
}
function mousePressed() {
let col = int(mouseX / 80);
let row = int(mouseY / 80);
flipLight(row,col);
if(isValid(row - 1,col) === true)
flipLight(row -1,col);
if(isValid(row +1,col) === true)
flipLight(row +1,col);
if(isValid(row ,col-1) === true)
flipLight(row ,col-1);
if(isValid(row ,col+1) === true)
flipLight(row ,col+1);
}
function flipLight(r, c){
grid[r][c] =!grid[r][c];
}
function isValid(r, c){
if (r<0)
return false;
if (r>4)
return false;
if (c<0)
return false;
if (c>4)
return false;
return true;
}
function drawGrid(){
for (var r = 0; r < grid.length; r++)
for (var c = 0; c < grid[r].length; c++) {
let x = c * 80;
let y = r * 80;
if (grid[r][c] === false)
fill(0);
else
fill(255);
rect(x, y, 80, 80);
}
}