Concept:
In this project I wanted to create something cute and there’s nothing cuter than cats! So, adding the saying “cats have seven lives” I implemented it by adding my very own drawing of a cat that appears within seven clicks. After clicking seven times the background restarts.
Highlight of Code:
Using this class code I have set the randomness of my images to follow a certain pattern within a limited sized canvas.
class Cat { constructor(x, y, img) { this.x = x; this.y = y; this.img = img; this.angle = random(TWO_PI); this.speedX = random(1, 3); this.speedY = random(1, 3); } update() { this.x += this.speedX * cos(this.angle); this.y += this.speedY * sin(this.angle); if (this.x < 0 || this.x > width) { this.angle = PI - this.angle; } if (this.y < 0 || this.y > height) { this.angle = -this.angle; } } display() { imageMode(CENTER); image(this.img, this.x, this.y); } }
In this set of codes I was able to put together the idea of clicking the screen seven times to make the program alternate between a random image of both my drawings. When making the eighth click the program restarts.
function mouseClicked() { if (numClicks < maxClicks) { let catImage = catImages[numClicks % 2]; // Alternate between cat images let cat = new Cat(mouseX, mouseY, catImage); cats.push(cat); numClicks++; } else { // Reset after 7 clicks cats = []; numClicks = 0; } }
Reflection and Ideas for Future Work:
This work took me so long and probably the ones with the most errors. I keep forgetting to add my class codes. I also had a problem with uploading my images without adding any additional local programs as suggested in different websites. After resizing my images and going through my code multiple times I finally got it running.
Edit: https://editor.p5js.org/mariamalkhoori/sketches/6hPD6jbgn