## week13_1_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; //0,1,2,0,1,2,0,1,2... void draw() { background(img[I]); if (frameCount%20==0) I = (I+1)%3; }
## week13_2_animated_background_frameCount_x
void setup() { size(500, 300);//寬度是500,兩倍是1000 } void draw() { background(#FFFFF2); float x = (frameCount*5 %1000); if (x>500) x=1000-x; ellipse(x, 150, 100, 100); }
week13_3_animated_background_turkey_pushMatrix_translate_rotate
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);//會跟著mouse移動 turkey(100, 100);//左上角 turkey(400, 100);//右上角 turkey(100, 200);//左下角 turkey(400, 200);//右下角 }
## week13_4_PShape_gindam_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_5_PShape_gundam_loadShape_shape_pushMatrix_scale_translate_rotate_popMatrix
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(); }
## week13_6_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_7_tetris_fallingvoid 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_8_tetris_grid_2d_array_fiil_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_9_tetris_color_array_c_now
color [] c = {#000000, #777777, #9900CC, #CCCC00, #00B500, #CC0000, #C00000, #666666, #0088CC, #CCC000}; 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_tetris_falling_if_frameCount_for_for_if
color [] c = {#000000, #777777, #9900CC, #CCCC00, #00B500, #CC0000, #C00000, #666666, #0088CC, #CCC000}; 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_tetris_falling_alive9_freeze_dead_Tcolor [] c = {#000000, #777777, #9900CC, #CCCC00, #00B500, #CC0000, #C000CC, #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=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}, };## 上傳github!!
沒有留言:
張貼留言