1. 打磚塊
(1) 動者恆動,靜者恆靜 - 設置變數
int x=250, y=250;
(2) 畫橢圓形
ellipse(x, y, 10, 10 );
2. 打磚塊 - 一直不會停...!
(1) int 改成 flaot
float x=250, y=250;
(2) 增加變數
float vx=1.0, vy=-0.5;
(3) 避免撞牆 - 修改加速度
x = x + vx;
y = y + vy;
if(x > 500) vx = -vx;
if(y < 0 ) vy = -vy;
3. 打磚塊 - 加板子
(1) 加背景、去殘影
background(#FFFFF2);
(2) 控制的板子
rect(mouseX, 400, 100, 20 );
(3) 設定反彈
int boardX = mouseX;
if(x < 0 ) vx = -vx;
if(y> 400 && x>boardX && x<boardX+100 ) vy = -vy;
4. 打磚塊 - 大改造
(1) 修改控制板子變數
float boardX, boardY=470, boardW=100, boardH=20;
(2) 設定boardX
boardX = mouseX-boardW/2;
(3) 修改板子的長方形
rect(boardX, boardY, boardW, boardH );
(4) 修改邊界
if(( y > boardY && y > boardY+boardH )&&
( x > boardX && x < boardX+boardW )){
vy = -vy;
vx += ( mouseX - pmouseX )/2;
(5) 修改加速度
if(mousePressed &&mouseButton == LEFT) boardW *= 1.01;
if(mousePressed &&mouseButton == RIGHT) boardW *= 0.99;
//每按一次鍵就多一動一點
(6) 完成
github
-------------------------------------------------------
5. 下圍棋
(1) 用迴圈畫圓
void draw(){
for(int x=50; x<450; x+=50){
for(int y=50; y<=450; y+=50){
ellipse(x, y, 50, 50);
}
}
}
(2) 用陣列畫圓
6. 下圍棋 - 棋盤、黑白棋
(1) 用迴圈畫線
for(int i=1; i<=9; i++){ //用迴圈畫線
line(50, 50*i, 450, 50*i);
line(50*i, 50, 50*i, 450);
}
(2) 修改黑白棋
for(int i=0; i<9; i++){
for(int j=0; j<9; j++){
if( go[i][j]==1){ //1是黑棋
fill(0);
ellipse(50+j*50, 50+i*50, 40, 40);
}else if( go[i][j]==2){ //2是白棋
fill(255);
ellipse(50+j*50, 50+i*50, 50, 50);
}
}
}
(3) 完成
7. 下圍棋 - 滑鼠下
(1) 增加程式碼 - mousePressed
void mousePressed(){
int j = (mouseX-25)/50;
int i = (mouseY-25)/50;
go[i][j] = (N%2==0) ? 1 : 2 ; //if(N%2==0)用1,否則2
N++;
}
(2) 完成
github
-------------------------------------------------------
沒有留言:
張貼留言