1 - 1 做一條一直延伸的線
void setup()
{
size(500,500);
}
int x=250, y=250;
void draw()
{
ellipse(x, y, 10, 10);
x = x+1;
y = y-1;
}
(線會往右上延伸)
1 - 2 線碰到牆壁會反彈
void setup()
{
size(500,500);
}
float x=250, y=250;
float vx=1.0, vy=-0.5;
void draw()
{
ellipse(x, y, 10, 10);
x = x+vx;
y = y+vy;
if(x>500 ) vx=-vx;
if(y<0) vy=-vy;
}
1 - 2 (1)稍微做更改
void setup()
{
size(500,500);
}
float x=250, y=250;
float vx=2.0, vy=-0.5;
void draw()
{
ellipse(x, y, 10, 10);
x = x+vx;
y = y+vy;
if(x>500 || x<0) vx=-vx;
if(y<0) vy=-vy;
}
1 - 3做出小遊戲
void setup()
{
size(500,500);
}
float x=250, y=250;
float vx=2.0, vy=-1.5;
void draw()
{
background(#FFFFF2);
int boardX = mouseX;
rect(boardX, 470, 100, 20);
ellipse(x, y, 10, 10);
x = x+vx;
y = y+vy;
if(x>500 || x<0) vx=-vx;
if(y<0) vy=-vy;
if(y>470 && x>boardX && x<boardX+100) vy=-vy;
}
void setup()
{
size(500,500);
}
float x=250, y=250;
float vx=2.0, vy=-2.5;
float boardX, boardY=470, boardW=500, boardH=20;
void draw()
{
boardX = mouseX-boardW/2;
background(#FFFFF2);
///int boardX = mouseX;
rect(boardX, boardY, boardW, boardH);
ellipse(x, y, 10, 10);
x = x+vx;
y = y+vy;
if(x>500 || x<0) vx=-vx;
if(y<0) vy=-vy;
///if(y>470 && x>boardX && x<boardX+100) vy=-vy;
if((y>boardY && y<boardY+boardH) && (x>boardX && x<boardX+boardW))
{
vy=-vy;
vx+=(mouseX-pmouseX)/2;
}
if(mousePressed && mouseButton == LEFT) boardW *=1.01;
if(mousePressed && mouseButton == RIGHT) boardW *=0.99;
}
2 - 1 棋盤
void setup()
{
size(500,500);
}
void draw()
{
for(int x=50 ; x<=450 ; x+=50)
{
for(int y=50 ; y<=450 ; y+=50)
{
ellipse(x, y, 50, 50);
}
}
}
2 - 2 黑棋、白棋
void setup()
{
size(500,500);
}
int [][] go ={
{0,1,0,1,0,1,0,1,0}, ///0是白棋,1是黑棋
{1,0,1,0,1,0,1,0,1},
{0,1,0,1,0,1,0,1,0},
{1,0,1,0,1,0,1,0,1},
{0,1,0,1,0,1,0,1,0},
{1,0,1,0,1,0,1,0,1},
{0,1,0,1,0,1,0,1,0},
{1,0,1,0,1,0,1,0,1},
{0,1,0,1,0,1,0,1,0},
};
void draw()
{
for(int i=0 ; i<9 ; i++)
{
for(int j=0 ; j<9 ; j++)
{
if(go[i][j] == 1) fill(0);
else fill(255);
ellipse(50+j*50, 50+i*50, 50, 50);
}
}
}
2 - 3 增加背景
void setup()
{
size(500,500);
}
int [][] go ={
{2,1,0,1,0,1,0,1,2},
{1,2,1,0,1,0,1,2,1},
{0,1,2,1,0,1,2,1,0},
{1,0,1,2,1,2,1,0,1},
{0,1,0,1,2,1,0,1,0},
{1,0,1,2,1,2,1,0,1},
{0,1,2,1,0,1,2,1,0},
{1,2,1,0,1,0,1,2,1},
{2,1,0,1,0,1,0,1,2},
};
void draw()
{
background(246, 194, 108);
for(int i=1 ; i<=9 ; i++)
{
line(50, 50*i, 450, 50*i);
line(50*i, 50, 50*i, 450);
}
for(int i=0 ; i<9 ; i++)
{
for(int j=0 ; j<9 ; j++)
{
if(go[i][j] == 1)
{
fill(0);
ellipse(50+j*50, 50+i*50, 40, 40);
}
else if(go[i][j] == 2)
{
fill(255);
ellipse(50+j*50, 50+i*50, 40, 40);
}
}
}
}
2 - 4 用滑鼠點擊可以產生棋子
void setup()
{
size(500,500);
}
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},
};
int N=0;
void mousePressed()
{
int j = (mouseX-25)/50;
int i = (mouseY-25)/50;
go[i][j] = (N%2 == 0) ? 1 : 2 ;
N++;
}
void draw()
{
background(246, 194, 108);
for(int i=1 ; i<=9 ; i++)
{
line(50, 50*i, 450, 50*i);
line(50*i, 50, 50*i, 450);
}
for(int i=0 ; i<9 ; i++)
{
for(int j=0 ; j<9 ; j++)
{
if(go[i][j] == 1)
{
fill(0);
ellipse(50+j*50, 50+i*50, 40, 40);
}
else if(go[i][j] == 2)
{
fill(255);
ellipse(50+j*50, 50+i*50, 40, 40);
}
}
}
}
沒有留言:
張貼留言