2024年12月2日 星期一

悲劇性分組報告

 //week13_01_animated_background_array_I_frameCount

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%60==0)I = (I+1)%3;

}

//week13_02_animated_background_frameCount_x

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_03_animated_background_turkey_pushMatrix_translate_rot

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

  turkey(mouseX,mouseY);

  turkey(100,100);

  turkey(400,100);

  turkey(100,200);

  turkey(400,200);

}


//week13_04_obj_mtl_gundam_loadShape_shape_obj_mtl_jpg

PShape gundam;

void setup()

{

  size(500,500,P3D);

  gundam = loadShape("Gundam.obj");

}

void draw()

{

  shape(gundam,0,0,250,500);

}

//week13_05_obj_mtl_gundam_loadShape_shape_obj_pushMatrix_scale_t

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_06_PShape_gundam_for_loop

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_07_tetris_falling

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_08_tetris_grid_2d_array_fill_rect

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

    }

  }

}

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_09_tetris_color_array_c_now

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

};

//week13_10_tetris_falling_if_frameCount_for_for_if

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

    }

  }

  if(frameCount%50==0)

  {

    int bad=0;

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

    {

      for(int j=0;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=0;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,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,1,1,1,1,1,1,1,1,1,1,1},

};

//week13_11_tetris_falling_alive9_freeze_dead_T

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

};









沒有留言:

張貼留言