week03
week03_1_PImage_loadImage_image
ctrl + K 可以看到圖檔拉進去的資料夾位置
程式碼
//week03_1_PImage_loadImage_image
//把網路下載的圖檔直接拉進來
PImage img = loadImage("arufa.jpg");
size(600,400);
image(img,0,0);
week03_2_void_setup_void_draw_fill_rect
程式碼
1.noStroke可以去掉邊線
2.rgb+a,a是透明度
//week03_2_void_setup_void_draw_fill_rect
PImage img;
void setup(){
size(600,400);
img = loadImage("arufa.jpg");
}
void draw(){
image(img,0,0);
noStroke();
fill(200,200,255,128);
rect(mouseX,mouseY,70,50);
}
week03_3_arufa_more_rect
程式碼
1.noCursor(); 不要鼠標
//week03_3_arufa_more_rect
PImage img;
void setup(){
size(600,400);
img = loadImage("arufa.jpg");
}
void draw(){
image(img,0,0);
noCursor();
noStroke();
fill(200,200,255,128);
rect(mouseX,mouseY-80,70,50);
rect(mouseX-30,mouseY-40,70,50);
rect(mouseX+30,mouseY-40,70,50);
rect(mouseX+60,mouseY,70,50);
rect(mouseX,mouseY,70,50);
rect(mouseX-60,mouseY,70,50);
rect(mouseX+90,mouseY+40,70,50);
rect(mouseX+30,mouseY+40,70,50);
rect(mouseX-30,mouseY+40,70,50);
rect(mouseX-90,mouseY+40,70,50);
rect(mouseX+60,mouseY+80,70,50);
rect(mouseX,mouseY+80,70,50);
rect(mouseX-60,mouseY+80,70,50);
rect(mouseX-30,mouseY+120,70,50);
rect(mouseX+30,mouseY+120,70,50);
rect(mouseX,mouseY+160,70,50);
}
week03_4_arufa_for_for_rect
程式碼
1.用for迴圈縮短程式碼
2.老師用湊的,自己可以多想想
//week03_4_arufa_for_for_rect
PImage img;
void setup(){
size(600,400);
img = loadImage("arufa.jpg");
}
void draw(){
image(img,0,0);
noCursor();
noStroke();
fill(200,200,255,128);
for(int i=1;i<=4;i++) {
for(int j = 0;j<i;j++) {
float y=i * 40,x = -i/2*60+j*60+((i%2==0)?30:0);
rect(mouseX+x,mouseY-80+y,70,50);
}
}
for(int i=3;i>=1;i--) {
for(int j = 0;j<i;j++) {
float y=(4-i) * 40+160,x = -i/2*60+j*60+((i%2==0)?30:0);
rect(mouseX+x,mouseY-80+y,70,50);
}
}
}
week03_5_go_for_line_line
程式碼
1.用for迴圈做出棋盤
//week03_5_go_for_for_rect
size(450,450);
background(220,179,92);
strokeWeight(2);
for(int i=0;i<9;i++) {
line(25,25 + i*50,425,25 + i*50);
line(25 + i*50,25,25 + i*50,425);
}
另解
size(450,450);
background(220,179,92);
strokeWeight(2);
noFill();
for(int i=0;i<8;i++) {
for(int j = 0;j<8;j++) {
rect(25+j*50,25+i*50,50,50);
}
}
week03_6_void_setup_void_draw
程式碼
1.增加互動,做出棋子
//week03_6_void_setup_void_draw
void setup(){
size(450,450);
}
void draw(){
background(220,179,92);
strokeWeight(2);
for(int i=0;i<9;i++) {
line(25,25 + i*50,425,25 + i*50);
line(25 + i*50,25,25 + i*50,425);
}
ellipse(mouseX,mouseY,45,45);
}
week03_7_go_board_2d_array_void_mousePressed_board_i_j
程式碼
1.陣列幫助紀錄下棋位置
2.感覺可以做五子棋
//week03_7_go_board_2d_array_void_mousePressed_board_i_j
int [][] board = new int [9][9];
void setup(){
size(450,450);
}
void draw(){
background(220,179,92);
strokeWeight(2);
for(int i=0;i<9;i++) {
line(25,25 + i*50,425,25 + i*50);
line(25 + i*50,25,25 + i*50,425);
}
for(int i=0;i<9;i++) {
for(int j=0;j<9;j++) {
if(board[i][j]==1) ellipse(25 + j*50,25+i*50,45,45);
}
}
ellipse(mouseX,mouseY,45,45);
}
void mousePressed(){
int i = mouseY/50,j = mouseX/50;
board[i][j] = 1;
}
week03_8_go_goColor_black_white
程式碼
1.設一個變數,完成一黑一白
2.讓欲下的棋子,成半透明(紅字)
//week03_8_go_goColor_black_white
int goColor = -1;
int [][] board = new int [9][9];
void setup(){
size(450,450);
}
void draw(){
background(220,179,92);
strokeWeight(2);
for(int i=0;i<9;i++) {
line(25,25 + i*50,425,25 + i*50);
line(25 + i*50,25,25 + i*50,425);
}
for(int i=0;i<9;i++) {
for(int j=0;j<9;j++) {
if(board[i][j]==1) fill(255);
if(board[i][j]==0) continue;
if(board[i][j]==-1) fill(0);
ellipse(25 + j*50,25+i*50,45,45);
}
}
if(goColor==-1) fill(0,128);
else fill(255,128);
ellipse(mouseX,mouseY,45,45);
}
void mousePressed(){
int i = mouseY/50,j = mouseX/50;
board[i][j] = goColor;
goColor = goColor * -1;
}
week03_9_arufa_array_for
程式碼
1.靠陣列先擺好
2.縮短程式碼
//week03_9_arufa_array_for
int []boardX={0,-30,+30,+60,0,-60,-90,-30,+30,+90,+60,0,-60,-30,+30,0};
int []boardY={-80,-40,-40,0,0,0,+40,+40,+40,+40,80,80,80,120,120,160};
PImage img;
void setup(){
size(600,400);
img = loadImage("arufa.jpg");
}
void draw(){
image(img,0,0);
noCursor();
noStroke();
fill(200,200,255,128);
for(int i=0;i<16;i++) {
rect(mouseX+boardX[i],mouseY+boardY[i],70,50);
}
}









沒有留言:
張貼留言