====== Anna Yang's crazyDog.js ======
by [[:yang-anna|Anna]]
===== about my crazyDog.js =====
My dog has a pair of big round eyes, big eyes, and a strong body.
He hopes to be adopted.
Some people say he looks like a mouse but he is actually a Chihuahua.
===== the code for my crazyDog.js =====
// Where is the circle
let x, y;
function setup() {
createCanvas(1800, 780);
// Starts in the middle
x = width / 2;
y = height;
}
class Dog {
constructor (size,dColor,x,y)
{ this.dogSize = size;
this.dogColor = dColor;
this.positionx=x-150;
this.positiony=y-0;
}
draw () {
fill(random(0,225),random(0,225),random(0,225));
rect(240+this.positionx, 300+this.positiony, 25, 50);
// leg
fill(random(0,225),random(0,225),random(0,225));
ellipse(300+this.positionx, 250+this.positiony, 35, 10);
// tail
fill(random(0,225),random(0,225),random(0,225));
rect(155+this.positionx, 300+this.positiony, 25, 50);
// leg
fill(random(0,225),random(0,225),random(0,225));
rect(144+this.positionx, 190+this.positiony, 150, 125);
// body
fill(random(0,225),random(0,225),random(0,225));
rect(165+this.positionx, 300+this.positiony, 25, 50);
// leg
fill(random(0,225),random(0,225),random(0,225));
rect(250+this.positionx, 300+this.positiony, 25, 50);
// leg
ellipseMode(RADIUS);
fill(random(0,225),random(0,225),random(0,225));
ellipse(100+this.positionx, 100+this.positiony, 20, 20);
ellipseMode(CENTER);
fill(random(0,225),random(0,225),random(0,225));
ellipse(100+this.positionx, 100+this.positiony, 20, 20);
ellipseMode(RADIUS);
fill(random(0,225),random(0,225),random(0,225));
ellipse(200+this.positionx, 100+this.positiony, 20, 20);
ellipseMode(CENTER);
fill(random(0,225),random(0,225),random(0,225));
ellipse(200+this.positionx, 100+this.positiony, 20, 20);
// ears
fill(random(0,225),random(0,225),random(0,225));
square(100+this.positionx, 100+this.positiony, 100, 20);
// face
ellipseMode(RADIUS);
fill(random(0,225),random(0,225),random(0,225));
ellipse(175+this.positionx, 135+this.positiony, 15, 15);
ellipseMode(CENTER);
fill(random(0,225),random(0,225),random(0,225));
ellipse(175+this.positionx, 135+this.positiony, 15, 15);
ellipseMode(RADIUS);
fill(random(0,225),random(0,225),random(0,225));
ellipse(125+this.positionx, 135+this.positiony, 15, 15);
ellipseMode(CENTER);
fill(random(0,225),random(0,225),random(0,225));
ellipse(125+this.positionx, 135+this.positiony, 15, 15);
// eyes
fill(random(0,225),random(0,225),random(0,225));
circle(152.5+this.positionx, 175+this.positiony, 25);
// month
}}
class BackgroundPattern {
constructor (size, Color,x,y)
{ this.backgroundSize = size;
this.backgroundColor = Color;
this.positiony=y-0;
this.positionx=x-150;
}
draw () {
ellipseMode(RADIUS);
fill(random(0,225),random(0,225),random(0,225));
ellipse(200+this.positionx, 250+this.positiony, 200, 200);
ellipseMode(CENTER);
fill(random(0,225),random(0,225),random(0,225));
ellipse(200+this.positionx, 250+this.positiony, 370, 370);
textSize(32);
fill(random(0,225),random(0,225),random(0,225));
text('Adopt me', this.positionx+200, this.positiony+190);
fill(random(0,225),random(0,225),random(0,225));
text('Adopt me', this.positionx+200, this.positiony+220);
fill(random(0,225),random(0,225),random(0,225));
text('Adopt me', this.positionx+200, this.positiony+250);
}}
function dogArray (n, x, y) {
let outputArray = [];
for (let i = 0; i < n ; i++) {
outputArray.push(new Dog (100,"blue",x + (i*350) - 50,y+100))
}
return outputArray
}
function backgroundPatternArray (number,x,y) {
let outputArray = [];
for (let i = 0; i < number ; i++) {
outputArray.push(new BackgroundPattern (500,"blue",x + (i * 350),y))
}
return outputArray
}
function Dogs2 (startingX, startingY, numberOfArrays, arrayLength) {
for(let i = 0; i < numberOfArrays ; i++){
let myDogs = dogArray (arrayLength, startingX, startingY+(i*350));
for(let i = 0; i < myDogs.length ; i++){
myDogs[i].draw()
}}}
function Background2 (startingX, startingY, numberOfArrays, arrayLength) {
for(let i = 0; i < numberOfArrays ; i++){
let myBackground = backgroundPatternArray (arrayLength, startingX, startingY+(i*350));
for(let i = 0; i < myBackground.length ; i++){
myBackground[i].draw()
}}}
function draw() {
background(220);
//let back2 = new BackgroundPattern (100,"beige",215,60);
//back2.draw();
//let back1 = new BackgroundPattern (100, "beige",615, 505)
//back1.draw();
//let dog2 = new Dog (100, "beige", "beige",190,125);
//dog2.draw();
//let dog1 = new Dog (100, "beige", "beige",590, 525)
//dog1.draw();
//let dog2 = new Dog (200,100, "red", "blue");
//dog2.draw();
Background2 (100, 0, 5, 5)
Dogs2 (100, 0, 5, 5);
// Draw a circle
stroke(50);
fill(100);
ellipse(x, y, 24, 24);
// Jiggling randomly on the horizontal axis
x = x + random(-1, 1);
// Moving up at a constant speed
y = y - 1;
// Reset to the bottom
if (y < 0) {
y = height;
}
}