2024年12月2日 星期一

HSY-互動技術-week13

 //week13-2

void setup(){

  size (500,300);

}


void draw(){

  background(#FFFFF2);

  float x = (frameCount*5 % 1000);

  if (x>500) x = 1000-x;

  for(int y=30; y <300; y+=50){

    ellipse(x, y, 30, 30);

  }

}


----------------------------


//week13-1

PImage [] img = new PImage[3];

void setup(){

  size (550, 370);

  img[0] = loadImage("snail01.png");

  img[1] = loadImage("snail02.png");

  img[2] = loadImage("snail03.png");

}

int I = 0;

void draw(){

  background(img[I]);

  if(frameCount%20==0) I = (I + 1)%3;

}


---------------------


//week13-3

PImage img;

void setup(){

  size (500,300);

  img = loadImage("turkey.png");

  imageMode(CENTER);

}

void turkey(int x, int y){

  pushMatrix();

  translate(x, y);

  rotate(radians(frameCount));

  image(img, 0, 0 );

  popMatrix();

}

void draw(){

  background(255, 255, 0);

  turkey(mouseX, mouseY);

  turkey(100,100);

  turkey(400,100);

  turkey(100,200);

  turkey(400,200);

}


--------------------------------------------


//week13-5

PShape gundam;

void setup(){

  size(500,500,P3D);

  gundam = loadShape("Gundam.obj");

}

void draw(){

  background(#BBFF81);

  pushMatrix();

  translate(mouseX, mouseY);

  rotateY(radians(frameCount));

  rotate(radians(180));

  scale(10, 10, 10);

  shape(gundam, 0, 0);

  popMatrix();

}


---------------------------------


//week13-6

PShape gundam;

void setup(){

  size(500,500,P3D);

  gundam = loadShape("Gundam.obj");

}

void draw(){

  background(#BBFF81);

  drawGundam(mouseX, mouseY);

  for(int x=0; x<=500; x+= 500/4){

    drawGundam(x, 300);

  }

}  

void drawGundam(int x, int y){

  pushMatrix();

  translate(x, y);

  rotateY(radians(frameCount));

  rotate(radians(180));

  scale(10, 10, 10);

  shape(gundam, 0, 0);

  popMatrix();

}


------------------------------------


//week13-7

void setup(){

  size(300,600);

}

float x = 50, y = 50;

void draw(){

  background(0);

  fill(153,0,204);

  rect(x,y-25,25,25);

  rect(x+25,y,25,25);

  rect(x,y,25,25);

  rect(x,y+25,25,25);

  if(frameCount%50==0) y += 25;

}

void keyPressed(){

  if(keyCode==RIGHT) x += 25;

  if(keyCode==LEFT) x -= 25;

}


------------------------------------------------


//week13-9

color [] c = {#000000, #777777, #9900CC, #CCCC00, #00B500};

void setup(){

  size(240,440);

}


void draw(){

  for(int i=0; i<22; i++){

    for(int j=0; j<12; j++){

      int now = grid[i][j];

      fill(c[now]);

      rect(j*20, i*20,20,20);     

    }

  }

}

int [] [] grid = {

  {1,1,1,1,1,1,1,1,1,1,1,1},

  {1,0,0,0,0,2,0,0,0,0,0,1},

  {1,0,0,0,0,2,2,0,0,0,0,1},

  {1,0,0,0,0,2,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1}, 

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,1,1,1,1,1,1,1,1,1,1,1},

};


----------------------------------


//week13-10

color [] c = {#000000, #777777, #9900CC, #CCCC00, #00B500};

void setup(){

  size(240,440);

}

void draw(){

  for(int i=0; i<22; i++){

    for(int j=0; j<12; j++){

      int now = grid[i][j];

      fill(c[now]);

      rect(j*20, i*20,20,20);     

    }

  }

  if(frameCount%50==0){

    int bad=0;

    for(int i=20; i>=1; i--){

      for(int j=1; j<12-1; j++){

        if(grid[i][j]==2){

          if(grid[i+1][j]!=0 && grid[i+1][j]!=2) bad=1;

        }

      }

    }

    if(bad==0){

      for(int i=20; i>=1; i--){

        for(int j=1; j<12-1; j++){

          if(grid[i][j]==2){

            grid[i+1][j]=2;

            grid[i][j]=0;

          }

        }

      }

    }

  }

  

}

int [] [] grid = {

  {1,1,1,1,1,1,1,1,1,1,1,1},

  {1,0,0,0,0,2,0,0,0,0,0,1},

  {1,0,0,0,0,2,2,0,0,0,0,1},

  {1,0,0,0,0,2,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1}, 

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,1,1,1,1,1,1,1,1,1,1,1},

};


---------------------------------------------------------


//week13-11

color [] c = {#000000, #777777, #9900CC, #CCCC00, #00B500, #CC0000, #0000CC, #CC9900, #CCEE00, #FFFFFF};

int T = 2;

void setup(){

  size(240,440);

}

void draw(){

  for(int i=0; i<22; i++){

    for(int j=0; j<12; j++){

      int now = grid[i][j];

      fill(c[now]);

      rect(j*20, i*20,20,20);     

    }

  }

  if(frameCount%50==0){

    int bad=0;

    for(int i=20; i>=1; i--){

      for(int j=1; j<12-1; j++){

        if(grid[i][j]==9){

          if(grid[i+1][j]!=0 && grid[i+1][j]!=9) bad=1;

        }

      }

    }

    if(bad==0){

      for(int i=20; i>=1; i--){

        for(int j=1; j<12-1; j++){

          if(grid[i][j]==9){

            grid[i+1][j]=9;

            grid[i][j]=0;

          }

        }

      }

    }else{

      for(int i=20; i>=1; i--){

        for(int j=1; j<12-1; j++){

          if(grid[i][j]==9){

            grid[i][j] = T;

          }

        }

      }

    }

  }

  

}

int [] [] grid = {

  {1,1,1,1,1,1,1,1,1,1,1,1},

  {1,0,0,0,0,9,0,0,0,0,0,1},

  {1,0,0,0,0,9,9,0,0,0,0,1},

  {1,0,0,0,0,9,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1}, 

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,0,0,0,0,0,0,0,0,0,0,1},

  {1,1,1,1,1,1,1,1,1,1,1,1},

};

沒有留言:

張貼留言