week06
week06_1_schule_table_line_fill_textSize_text_for
1.用直覺的方法嘗試完成
程式碼
///week06_1_schule_table_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(60);
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);
}
}
week06_2_schule_table02_for_for
1.FOR取代重複性過高的程式碼
程式碼
///week06_2_schule_table02_for_for
void setup(){
size(500,500);
textSize(60);
textAlign(CENTER,CENTER);
}
void draw(){
background(#FFFFF2);
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
fill(255); rect(j*100,i*100,100,100);
fill(0); text("1",50+j*100,50+i*100);
}
}
}
week06_3_schulte_table03_random_2d_array
1.使用random隨機填數字
2.兩層陣列
程式碼
///week06_3_schulte_table03_random_2d_array
int [][] table = new int[5][5];
void setup(){
size(500,500);
textSize(60);
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(){
background(#FFFFF2);
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
fill(255); rect(j*100,i*100,100,100);
fill(0); text(""+table[i][j],50+j*100,50+i*100);
}
}
}
week06_4_schulte_table04_no_repeat_used_array_while
1.用陣列做出空間
2.while一直做判斷
程式碼
///week06_4_schulte_table04_no_repeat_used_array_while
int [] used = new int[26];
int [][] table = new int[5][5];
void setup(){
size(500,500);
textSize(60);
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(){
background(#FFFFF2);
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
fill(255); rect(j*100,i*100,100,100);
fill(0); text(""+table[i][j],50+j*100,50+i*100);
}
}
}
week06_5_schulte_table05_void_mousePressed_pressed_i_j
1.做出按下去顯示
程式碼
///week06_5_schulte_table05_void_mousePressed_pressed_i_j
int [] used = new int[26];
int [][] table = new int[5][5];
void setup(){
size(500,500);
textSize(60);
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++){
for(int j=0;j<5;j++){
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;
}
week06_6_schulte_table06_int_answer_check
1.限制只有對的才給按
程式碼
///week06_6_schulte_table06_int_answer_check
int [] used = new int[26];
int [][] table = new int[5][5];
void setup(){
size(500,500);
textSize(60);
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++){
for(int j=0;j<5;j++){
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 answer = 1;
void mousePressed(){
int i = mouseY/100,j = mouseX/100;
if(table[i][j]==answer){
pressed[i][j] = 1;
answer++;
}
}
week06_7_schulte_table07_millis
1.加入計時器
程式碼
///week06_7_schulte_table07_millis
int [] used = new int[26];
int [][] table = new int[5][5];
void setup(){
size(500,600);
textSize(60);
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++){
for(int j=0;j<5;j++){
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("timer : "+millis()/1000,200,550);
}
int answer = 1;
void mousePressed(){
int i = mouseY/100,j = mouseX/100;
if(table[i][j]==answer){
pressed[i][j] = 1;
answer++;
}
}
程式碼改
///week06_7a_schulte_table07_millis
int [] used = new int[26];
int [][] table = new int[5][5];
void setup(){
size(500,600);
textSize(60);
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++){
for(int j=0;j<5;j++){
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("timer : "+ nf((millis() - startT)/1000.0,0,1),200,550);
}
int answer = 1;
void mousePressed(){
int i = mouseY/100,j = mouseX/100;
if(table[i][j]==answer){
pressed[i][j] = 1;
answer++;
}
}
week06_8_schulte_table09_mousePressed_crash_if_project_shuffle_random
1.優化
程式碼
///week06_8_schulte_table09_mousePressed_crash_if_project_shuffle_random
int [] used = new int[26];
int [][] table = new int[5][5];
void setup(){
size(500,600);
textSize(60);
textAlign(CENTER,CENTER);
int []nums = {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 = nums.length - 1;i>0;i--) {
int j = nums[int(random(i + 1))];
int temp = nums[i];
nums[i] = nums[j];
nums[j] = temp;
}
int index=0;
for(int i=0;i<5;i++) {
for(int j=0;j<5;j++) {
table[i][j] = nums[index++];
}
}
startT = millis();
}
int startT = 0;
int [][] pressed = new int[5][5];
void draw(){
background(#FFFFF2);
for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
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("timer : "+ nf((millis() - startT)/1000.0,0,1),200,550);
}
int answer = 1;
void mousePressed(){
int i = mouseY/100,j = mouseX/100;
if(table[i][j]==answer){
pressed[i][j] = 1;
answer++;
}
}







沒有留言:
張貼留言