2021/10/25 陣列、迴圈運用
-----------------------------------------------------------------------------------

想要劃出9條線就要打9行line,這樣太過於操勞,於是運用迴圈
如下圖:

再加上橫線

先練習陣列運用

有個上面的觀念之後,把陣列中帶有1的白棋帶入棋盤中

多新增了mousePressed這5行,目的是為了無條件捨去,假如X,Y的
位置在(5.99 , 5.99)白棋最後的位置會在在(5,5)的位置

若將-50改成-25,可直接達成四捨五入的效果

接著用滑鼠的左、右、中鍵,分別代表白、黑、無棋子

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(){
background(255);
noFill();
stroke(mouseX,mouseY,255);
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,mouseY,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)g=0;
b+=random(3); if(b>255)b=0;
ellipse(mouseX,mouseY,w,w);
w+=0.5;
if(w>100) w=30;
}
沒有留言:
張貼留言