[TODO]
上課內容:
Table_de_Schulte
// week06_1_schulte_table01_line_fill_textSize_text_for void setup(){ size(500,500); } void draw(){ background(#FFFFF2); line(0,100,500,100); line(0,200,500,200); line(0,300,500,300); line(0,400,500,400); line(100,0,100,500); line(200,0,200,500); line(300,0,300,500); line(400,0,400,500); fill(0); //黑色的字 textSize(50); textAlign(CENTER,CENTER); for(int y=50; y<=450; y+=100){ text("1",50,y); text("1",150,y); text("1",250,y); text("1",350,y); text("1",450,y); } }
Table_de_Schulte(for迴圈)
// week06_2_schulte_table02_for_for_fill_rect_fill_text void setup(){ size(500,500); textSize(50); textAlign(CENTER,CENTER); } void draw(){ for(int i=0; i<5; i++){ //對y座標 for(int j=0; j<5; j++){ //對x座標 fill(255); rect(j*100, i*100, 100, 100); fill(0); text("1", 50+j*100, 50+i*100); } } }Table_de_Schulte(random變數,但會有重複的數字)// week06_3_schulte_table03_random_2d_array_table int [][] table = new int[5][5]; //Java的陣列宣告 void setup(){ size(500,500); textSize(50); textAlign(CENTER,CENTER); for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ table[i][j] = int(random(1,26)); //方法不對 } } } void draw(){ for(int i=0; i<5; i++){ //對y座標 for(int j=0; j<5; j++){ //對x座標 fill(255); rect(j*100, i*100, 100, 100); fill(0); text(""+table[i][j], 50+j*100, 50+i*100); } } }Table_de_Schulte(修:加上while判斷)// week06_4_schulte_table04_no_repeat_used_array_while int [] used = new int[26]; //0...25 共26個 int [][] table = new int[5][5]; //Java的陣列宣告 void setup(){ size(500,500); textSize(50); textAlign(CENTER,CENTER); for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ int now = int(random(1,26)); while(used[now]==1) now = int(random(1,26)); table[i][j] = now; used[now] = 1; } } } void draw(){ for(int i=0; i<5; i++){ //對y座標 for(int j=0; j<5; j++){ //對x座標 fill(255); rect(j*100, i*100, 100, 100); fill(0); text(""+table[i][j], 50+j*100, 50+i*100); } } }
Table_de_Schulte(按下去,格子會變色)
// week06_5_schulte_table05_void_mousePressed_pressed_i_j int [] used = new int[26]; //0...25 共26個 int [][] table = new int[5][5]; //Java的陣列宣告 void setup(){ size(500,500); textSize(50); textAlign(CENTER,CENTER); for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ int now = int(random(1,26)); while(used[now]==1) now = int(random(1,26)); table[i][j] = now; used[now] = 1; } } } int [][] pressed = new int[5][5]; void draw(){ for(int i=0; i<5; i++){ //對y座標 for(int j=0; j<5; j++){ //對x座標 if(pressed[i][j]==1) fill(128); else fill(255); rect(j*100, i*100, 100, 100); fill(0); text(""+table[i][j], 50+j*100, 50+i*100); } } } void mousePressed(){ int i= mouseY/100, j= mouseX/100; pressed[i][j] = 1; }
Table_de_Schulte(只能照順序按)// week06_6_schulte_table06_int_want_1_if_table_i_j_want int [] used = new int[26]; //0...25 共26個 int [][] table = new int[5][5]; //Java的陣列宣告 void setup(){ size(500,500); textSize(50); textAlign(CENTER,CENTER); for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ int now = int(random(1,26)); while(used[now]==1) now = int(random(1,26)); table[i][j] = now; used[now] = 1; } } } int [][] pressed = new int[5][5]; void draw(){ for(int i=0; i<5; i++){ //對y座標 for(int j=0; j<5; j++){ //對x座標 if(pressed[i][j]==1) fill(128); else fill(255); rect(j*100, i*100, 100, 100); fill(0); text(""+table[i][j], 50+j*100, 50+i*100); } } } int want=1; //希望你按的數字 void mousePressed(){ int i= mouseY/100, j= mouseX/100; if(table[i][j]==want){ pressed[i][j] = 1; want++; } }
Table_de_Schulte(正數計時器)// week06_7_schulte_table07_millis int [] used = new int[26]; //0...25 共26個 int [][] table = new int[5][5]; //Java的陣列宣告 void setup(){ size(500,600); //留白放時間 textSize(50); textAlign(CENTER,CENTER); for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ int now = int(random(1,26)); while(used[now]==1) now = int(random(1,26)); table[i][j] = now; used[now] = 1; } } } int [][] pressed = new int[5][5]; void draw(){ background(#FFFFF2); for(int i=0; i<5; i++){ //對y座標 for(int j=0; j<5; j++){ //對x座標 if(pressed[i][j]==1) fill(128); else fill(255); rect(j*100, i*100, 100, 100); fill(0); text(""+table[i][j], 50+j*100, 50+i*100); } } text(" You used "+millis()/1000,250,550); //計時器 } int want=1; //希望你按的數字 void mousePressed(){ int i= mouseY/100, j= mouseX/100; if(table[i][j]==want){ pressed[i][j] = 1; want++; } }
Table_de_Schulte(正數計時器,加上小數點)// week06_8_schulte_table08_nf_millis_startT int [] used = new int[26]; //0...25 共26個 int [][] table = new int[5][5]; //Java的陣列宣告 void setup(){ size(500,600); //留白放時間 textSize(50); textAlign(CENTER,CENTER); for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ int now = int(random(1,26)); while(used[now]==1) now = int(random(1,26)); //比較浪費時間,會一直"重挑"亂數 table[i][j] = now; used[now] = 1; } } startT = millis(); //記錄你開始的時間 } int startT = 0; int [][] pressed = new int[5][5]; void draw(){ background(#FFFFF2); for(int i=0; i<5; i++){ //對y座標 for(int j=0; j<5; j++){ //對x座標 if(pressed[i][j]==1) fill(128); else fill(255); rect(j*100, i*100, 100, 100); fill(0); text(""+table[i][j], 50+j*100, 50+i*100); } } text(" You used "+ nf((millis()-startT)/1000.0, 0, 1),250,550); //計時器 //nf() --> 轉換成字串 0, 1 的 0--> 代表小數點前的位數 } int want=1; //希望你按的數字 void mousePressed(){ int i= mouseY/100, j= mouseX/100; if(table[i][j]==want){ pressed[i][j] = 1; want++; } }
Table_de_Schulte(快速排序、防止點到時間欄就當機)// week06_9_schulte_table09_mousepressed_crash_if_protect_shuffle_random int [] used = new int[26]; //0...25 共26個 int [][] table = new int[5][5]; //Java的陣列宣告 void setup(){ size(500,600); //留白放時間 textSize(50); textAlign(CENTER,CENTER); int []numbers = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25}; for(int i=numbers.length-1; i>0; i--){ int j = int(random(i+1)); //隨機挑選一個數字 //交換位置 int temp = numbers[i]; numbers[i] = numbers[j]; numbers[j] = temp; } int index=0; for(int i=0; i<5; i++){ for(int j=0; j<5; j++){ table[i][j] = numbers[index++]; } } startT = millis(); //記錄你開始的時間 } int startT = 0; int [][] pressed = new int[5][5]; void draw(){ background(#FFFFF2); for(int i=0; i<5; i++){ //對y座標 for(int j=0; j<5; j++){ //對x座標 if(pressed[i][j]==1) fill(128); else fill(255); rect(j*100, i*100, 100, 100); fill(0); text(""+table[i][j], 50+j*100, 50+i*100); } } text(" You used "+ nf((millis()-startT)/1000.0, 0, 1),250,550); //計時器 //nf() --> 轉換成字串 0, 1 的 0--> 代表小數點前的位數 } int want=1; //希望你按的數字 void mousePressed(){ int i= mouseY/100, j= mouseX/100; if(i>=0 && i<5 && i>=0 && i<5){ if(table[i][j]==want){ pressed[i][j] = 1; want++; } }
沒有留言:
張貼留言