//maddy cha
//section e
//mecha@andrew.cmu.edu
//project-05
function setup() {
createCanvas(480,480);
}
function draw() {
bird();
noLoop();
}
function bird() {
background(230,225,215);
//dictates the x position of all of the elements
var z = random(-70,20);
//randomizes angle of grass
var grassAdd = random(-10,10);
var grassAdd3 = random(0,20);
//randomizes whether or not third piece of grass will appear
var randomGrass = random(0,10);
//nested for loop that creates grid of chickens
for(var x = z; x < 880; x+=140){
for(var y = z; y < 880; y+=140){
//grass
noFill();
strokeWeight(1);
stroke(130,125,115);
line(80+x,140+y,80+x-grassAdd,140+y-random(8,14));
line(85+x,140+y,85+x-grassAdd,140+y-random(10,20));
//chance that third piece of grass will appear
if(randomGrass <= 5){
line(100+x+grassAdd3,140+y,100+x-grassAdd+grassAdd3,140+y-random(8,14));
}
//wing shadow
noStroke();
fill(215,200,190);
rect(3+x,52+y,35,30,40,20,0,20);
//legs
noFill();
stroke(255,123,0);
strokeWeight(2);
line(40+x,90+y,40+x,110+y);
line(40+x, 110+y, 37+x, 110+y);
stroke(215,93,0);
line(30+x, 110+y, 27+x, 110+y);
line(30+x,90+y,30+x,110+y);
//body
noStroke();
fill(255);
rect(10+x,25+y,30,70,0,20,0,50);
rect(20+x,60+y,50,35,0,0,20,20);
//eye
fill(130,125,115);
ellipse(20+x,34+y,5.5,5.5);
noFill();
strokeWeight(1);
stroke(130,125,115);
ellipse(20+x,34+y,8,8);
//beak
noStroke();
fill(255,123,0);
triangle(10+x,35+y,-2+x,25+y,10+x,25+y);
//wing shadow
fill(230,225,215);
rect(30+x,52+y,35,30,40,20,0,20);
//wing
fill(255);
rect(30+x,50+y,35,30,40,20,0,20);
}
}
}
For this project, I decided to start with creating a graphic that I could use to repeat and make an aesthetically pleasing wallpaper with. While I was originally planning to create a function and place it in a for loop in draw, I instead implemented a nested for loop in my “bird” function. After creating my bird, I added different lines of grass that would change angles based on randomized x and y values. Additionally, a randomized variable would dictate whether or not a third piece of grass would show up.