Howard Liao's crazyDog.js
about my crazyDog.js
This is my crazy dog.js, this is what I learned this semester, We try to make a lot of dogs and an animation background or a dog.
The animation code is released under the GNU Lesser General Public License v2.1.
the code for my crazyDog.js
function setup() { createCanvas(1920, 1080); //noLoop() } class Dog { // dogSize is the number of times bigger constructor (xposition, yposition, dogSize) { this.xposition = xposition; this.yposition = yposition; this.dogSize = dogSize; } draw () { fill(2, 25, 2) square(this.xposition + (200 * this.dogSize), this.yposition + (80 * this.dogSize), this.dogSize * 50); square(this.xposition + 90, this.yposition + 80, this.dogSize * 50); square(this.xposition + 130, this.yposition + 130, this.dogSize * 140); fill(Math.random() * 255, Math.random() * 255, Math.random() * 255) square(this.xposition + 98, this.yposition + 121, this.dogSize * 35); square(this.xposition + 162, this.yposition + 122, this.dogSize * 35); fill(Math.random() * 255, Math.random() * 255, Math.random() * 255) square(this.xposition + 99, this.yposition + 126, this.dogSize * 24); square(this.xposition + 163, this.yposition + 126, this.dogSize * 24); fill(Math.random() * 255, Math.random() * 255, Math.random() * 255) square(this.xposition + 100, this.yposition + 126, this.dogSize * 17); square(this.xposition + 164, this.yposition + 126, this.dogSize * 17); fill(Math.random() * 255, Math.random() * 255, Math.random() * 255) square(this.xposition + 100, this.yposition + 126,this.dogSize * 10); fill(Math.random() * 255, Math.random() * 255, Math.random() * 255) square(this.xposition + 110, this.yposition + 196, this.dogSize * 200, 1, 50) fill(Math.random() * 255, Math.random() * 255, Math.random() * 255) square(this.xposition + 140, this.yposition + 326, this.dogSize * 48, 10); square(this.xposition + 200, this.yposition + 355, this.dogSize * 41, 10); fill(Math.random() * 255, Math.random() * 255, Math.random() * 255) fill(Math.random() * 255, Math.random() * 255, Math.random() * 255) noStroke(); noFill(); } } class BackgroundPattern { // dogSize is the number of times bigger constructor (xposition, yposition, patternSize, hColor, eColor) { this.xposition = xposition; this.yposition = yposition; this.patternSize = patternSize; this.hairColor = hColor; this.eyeColor = eColor } draw () { fill(255,255,255); square(this.xposition + 24, this.yposition + 126,this.patternSize * 10); fill(245, 152, 181); square(this.xposition + 10, this.yposition + 134, this.patternSize * 10); fill(19, 121, 50); noStroke(); smooth(); ellipse(this.xposition + 30, this.yposition + 59, this.patternSize * 36, this.patternSize * 36); noSmooth(); ellipse(this.xposition + 70, this.yposition + 50, this.patternSize * 36, this.patternSize * 36); } } function backgroundPatternArray (n, y) { let outputArray = []; for (let i = 0; i < n ; i++) { outputArray.push(new BackgroundPattern (0 + (i*120),0 + y, 1,"red", "blue")) } return outputArray } function dogArray (n, y) { let outputArray = []; for(let k = 0; k < n ; k++){ for (let i = 0; i < n ; i++) { outputArray.push(new Dog (0 + (200*i),y+(k*400), 0.5 + (1 * Math.random()))) } } return outputArray } function draw() { background(255,255,255) //background(random(0,255),random(0,255),random(0,255)); //let myDog2 = new Dog (0, 0, 0.5, "red","blue"); //myDog2.draw(); //let myPattern1 = new BackgroundPattern (0, 0, 1, "red","blue"); //myPattern1.draw() //background(220); for(let i = 0; i < 15 ; i++){ let myBackgroundPattern = backgroundPatternArray(15, 0 + (i * 100)); for(let i = 0; i < myBackgroundPattern.length ; i++){ myBackgroundPattern[i].draw() } } let howardsDogs = dogArray (10,0); //howardsDogs[0].draw() for(let i = 0; i< howardsDogs.length; i++){ howardsDogs[i].draw(); } //let myDog = new Dog (0, 0, 1); //myDog.draw(); }