2024年12月2日 星期一

比奇堡佳齁勝 13

 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;

}


void setup() {
  size(500, 300);
}
void draw() {
  background(#FFFFF2);
  float x =(frameCount*5)%1000;
  if (x>500) x=1000-x; //範圍500來回撞
  for (int y=30; y<300 ; y+=50) {
    ellipse(x, y, 30, 30);
  }
}

PImage img;
void setup() {
  size(500, 300);
  img = loadImage("turkcy.png");
  imageMode(CENTER);
}
void turkcy(int x,int y) {
  pushMatrix();
  translate(x, y);
  rotate(radians(frameCount));
  image(img, 0, 0);
  popMatrix();
}
void draw(){
  background(255);
  turkcy(mouseX,mouseY);
  turkcy(100,100);
  turkcy(200,200);
  turkcy(300,200);
  turkcy(400,200);
}



PShape gundam;
void setup() {
  size(500, 500, P3D);
  gundam = loadShape("Gundam.obj");
}
void draw() {
  shape(gundam, 0, 0, 500, 500);
}



利用了之前圖學學到的移動旋轉的觀念
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(5, 5, 5);
    shape(gundam, 0, 0);
  popMatrix();
}






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();
}



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;
}



void setup() {
  size(240, 440);
}
void draw() {
  for (int i=0; i<22; i++) {
    for (int j=0; j<12; j++) {
      if (grid[i][j]==1)fill(119, 119, 119);
      if (grid[i][j]==0)fill(0);
      if (grid[i][j]==2)fill(153, 0, 204);
      rect(j*20, i*20, 20, 20);
    }
  }
}

float [][]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},
};






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

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},

};



color []c={#000000, #777777, #9900CC, #CCCC00,#00B500,#CC0000};
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;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},
};



color []c={#000000, #777777, #9900CC, #CCCC00, #00B500, #CC0000, #2F0000,#9F0050, #750075, #4B0091};
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) {//如果可以是移動主角,活著=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;//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},
};











沒有留言:

張貼留言