howard-lee-generative

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
howard-lee-generative [2021/06/20 20:29] renickhoward-lee-generative [2021/06/29 01:40] (current) renick
Line 1: Line 1:
-=====Rex dog =====+=====Rex Lee's crazyDog.js ===== 
 + 
 +[[howard-lee|by Rex Lee]] 
 <HTML> <HTML>
-<iframe src="https://editor.p5js.org/howard.lee/present/kZeYmO2hI" width=99% height=799px></iframe>+<iframe src="https://editor.p5js.org/renick/present/fG72fFvHL" width=99% height=799px></iframe>
 </HTML> </HTML>
  
-<Code:js>+===== about my crazyDog.js =====
  
-</Code>+What was difficult for you? I just don't know function really well. 
 +What are you proud of? I guess it will be many dogs. 
 +What did you learn? I learn about classes patterns. 
 +How do you feel about this? I feel good after I made some progress. 
  
 +The animation code is released under the [[https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html|GNU Lesser General Public License v2.1]].
  
 +===== the code for my crazyDog.js =====
 +
 +<Code:js>
 +
 +function setup() {
 +  createCanvas(2000, 1200);
 +  noLoop();
 +}
 + 
 +class BackgroundPattern {
 +  constructor (xposition, yposition, size, pColor )
 +  { this.xposition = xposition;
 +    this.yposition = yposition;
 +    this.size = size;
 +    this.patternColor = pColor;
 + 
 +  }
 +  draw () {
 +  fill(this.patternColor);
 +  rect(this.xposition, this.yposition, this.size, this.size);
 +  fill(227, 94, 84);
 +  rect(this.xposition + 10, this.yposition + 10, this.size/2, this.size/2);
 +  }
 +}
 + 
 +function patternRow (n, xposition, yposition) {
 +    let outputArray = [];
 +    for (let i = 0; i < n ; i++) {
 +        outputArray.push(new BackgroundPattern (xposition + (i*105), yposition, 100,"brown"))
 +    }
 +    return outputArray
 +}
 + 
 +class Dog {
 +  constructor (xposition,yposition, fColor, eColor)
 +  { this.xposition = xposition;
 +    this.yposition = yposition;
 +    this.furColor = fColor;
 +    this.eyeColor = eColor
 +  }
 +  draw () {
 +    fill(this.furColor);
 +    let leftEarPosition = [this.xposition+180,
 +this.yposition+140];
 +  let rightEarPosition = [this.xposition+300,this.yposition+140];
 +  triangle(30 + leftEarPosition[0], 75 + leftEarPosition[1], 58 + leftEarPosition[0], 20 + leftEarPosition[1], 86 + leftEarPosition[0], 75 + leftEarPosition[1]);
 +  triangle(30 + rightEarPosition[0], 75 + rightEarPosition[1], 58 + rightEarPosition[0], 20 + rightEarPosition[1], 86 + rightEarPosition[0], 75 + rightEarPosition[1]);
 +  circle(this.xposition+300,this.yposition+300, 244);
 + 
 +  fill(this.eyeColor);
 +  rect(this.xposition+250,this.yposition+ 270, 15, 85);
 +  rect(this.xposition+335,this.yposition+ 270, 15, 85);
 +  }
 +}
 + 
 +function dogArray  (n, xposition, yposition) {
 +    let outputArray = [];
 +    for (let i = 0; i < n ; i++) {
 +        outputArray.push(new Dog ( xposition+ (i*200), yposition+(i*200),"yellow","pink"))
 +    }
 +    return outputArray
 +}
 + 
 + 
 +function fullPattern (startingX, startingY, numberOfRows, rowLength){
 +  for(let i = 0; i < numberOfRows ; i++){
 +    let mypattern = patternRow(rowLength, startingX, startingY+(i*105));
 +    for(let i = 0; i < mypattern.length ; i++){
 +      mypattern[i].draw()
 +  };
 +  }
 +}
 + 
 +function fulldogs (startingX, startingY, numberOfRows, rowLength){
 +  for(let i = 0; i < numberOfRows ; i++){
 +    let mydogs = dogArray(rowLength, startingX, startingY+(i*105));
 +    for(let i = 0; i < mydogs.length ; i++){
 +      mydogs[i].draw()
 +  };
 +  }
 +}
 +//let myDogs = dogArray(20);
 + 
 +function draw() {
 +  background(229, 195, 230);
 +  fullPattern(5,5,10,30)
 +  fulldogs(5,5,10,30)
 + //for(let i = 0; i < myDogs.length ; i++){
 +    //myDogs[i].draw()
 +  //let dog2 = new Dog (400,100, "yellow", "red");
 +  //dog2.draw();
 +  //}
 + 
 +}
 + 
 +</Code>
  • howard-lee-generative.1624246146.txt.gz
  • Last modified: 2021/06/20 20:29
  • by renick