2021年10月25日 星期一

week04



🔸嗨,今天上課先畫個圍棋底圖

void setup() { size(500,500); } void draw() { background(253,236,180); line(50,50,50,450); line(100,50,100,450); line(150,50,150,450); line(200,50,200,450); }








🔹用迴圈改一下

void setup() { size(500,500); } void draw() { background(253,236,180); for(int i=50;i<=500;i+=50) { line(i,50,i,450); } }




🔸加上橫線

void setup() { size(500,500); } void draw() { background(253,236,180); for(int i=50;i<=500;i+=50) { line(i,50,i,450); line(50,i,450,i); } }


🔹05用陣列

int [][]go={ {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}}; } void setup() { size(500,500); } void draw() { background(253,236,180); for(int i=50;i<=500;i+=50) { line(i,50,i,450); line(50,i,450,i); } }




















🔸畫紅灰的格子,1是紅格子,0是灰格子
j是x方向,i是y方向

int [][]c={ {1,0,0}, {1,0,0}, {1,0,0}}; void setup() { size(300,300); } void draw() { for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { if(c[i][j]==0)fill(128); else fill(255,0,0); rect(j*100,i*100,100,100); } } }


🔹用陣列的方式下棋子,按照座標打1可以下白棋

int [][]go={ {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}}; void setup() { size(500,500); } void draw() { background(253,236,180); for(int i=0;i<=9;i++) { line(50+50*i,50,50+50*i,450); line(50,50+50*i,450,50+50*i); } for(int i=0;i<9;i++) { for(int j=0;j<9;j++) { if(go[i][j]==1) { int x=50+50*j,y=50+50*i; fill(255); ellipse(x,y,40,40); } } } }


🔸讓棋子可以透過滑鼠點擊增加,x、y與j、i利用移項變號

int [][]go={ {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,1,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}}; void setup() { size(500,500); } void draw() { background(253,236,180); for(int i=0;i<=9;i++) { line(50+50*i,50,50+50*i,450); line(50,50+50*i,450,50+50*i); } for(int i=0;i<9;i++) { for(int j=0;j<9;j++) { if(go[i][j]==1) { int x=50+50*j,y=50+50*i; fill(255); ellipse(x,y,40,40); } } } } void mousePressed() { int j=(mouseX-50)/50; int i=(mouseY-50)/50; go[i][j]=1; }


🔹改為25會更增加辨識度

void mousePressed() { int j=(mouseX-25)/50; int i=(mouseY-25)/50; go[i][j]=1; }


🔸左鍵白右鍵黑中鍵消除棋子

int [][]go={ {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0}}; void setup() { size(500,500); } void draw() { background(253,236,180); for(int i=0;i<=9;i++) { line(50+50*i,50,50+50*i,450); line(50,50+50*i,450,50+50*i); } for(int i=0;i<9;i++) { for(int j=0;j<9;j++) { if(go[i][j]==1) { int x=50+50*j,y=50+50*i; fill(255);ellipse(x,y,40,40); } else if(go[i][j]==2) { int x=50+50*j,y=50+50*i; fill(0);ellipse(x,y,40,40); } } } } void mousePressed() { int j=(mouseX-25)/50; int i=(mouseY-25)/50; if(mouseButton==LEFT)go[i][j]=1; if(mouseButton==RIGHT)go[i][j]=2; if(mouseButton==CENTER)go[i][j]=0; }


🔹用三角函數畫出一個圓

void setup() { size(500,500); } void draw() { for(float a=0;a<360;a++) { float x =250+250*cos(radians(a)); float y =250+250*sin(radians(a)); ellipse(x,y,4,4); } }


🔸a+=10


🔹改用滑鼠座標來畫

void setup() { size(500,500); } void draw() { background(128); for(float a=0;a<360;a+=1) { float x =250+mouseX*cos(radians(a)); float y =250+mouseY*sin(radians(a)); ellipse(x,y,mouseX,mouseY); } }


🔸變換顏色的圓圈

void setup() { size (500,500); } float w=30; float r=0,g=255,b=0; void draw() { stroke(r,g,b);noFill(); r+=random(3);if(r>255)r=0; g+=random(3);if(g>255)r=0; b+=random(3);if(b>255)r=0; ellipse(mouseX,mouseY,w,w); w+=0.5; if(w>100)w=30; }






沒有留言:

張貼留言