Step01:動者恆動 靜者恆靜
void setup(){
size(500,500);
}
int x=250,y=250;//變數(位置)
void draw(){
ellipse(x,y,10,10);//橢圓
x = x+1;
y = y-1;
}
Step02:碰到牆壁立即反彈!!
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;
}
Step03:背景,去殘影,以及新增控制板做接球的動作;
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, 300, 20);//控制的板子
ellipse(x,y,10,10);//橢圓
x = x + vx;
y = y + vy;
if( x > 500 ) vx = -vx;
if( y < 0 ) vy = -vy;
if( x < 0) vx = -vx;
if( y > 470 && x>boardX && x<boardX+300) vy = -vy;
}
void setup(){
size(500,500);
}
float x=250,y=250;//變數(位置)精細
float vx = 5.0 ,vy = -3.5;
float boardX,boardY=470,boardW=150,boardH=20;
void draw(){
boardX = mouseX-boardW/2;
background(#FFFFF2);//背景,去殘影
rect(boardX, boardY, boardW, boardH);//控制的板子
ellipse(x,y,10,10);//橢圓
x = x + vx;
y = y + vy;
if( x > 500 ) vx = -vx;
if( y < 0 ) vy = -vy;
if( x < 0) vx = -vx;
if( ( y >boardY && y<boardY+boardH) &&
( x >boardX && x<boardX+boardW) ){
vy = -vy;
vx += (mouseX-pmouseX)/2;//mouse的移動速度
}
if(mousePressed && mouseButton==LEFT) boardW*= 1.01;//每天多努力1%
if(mousePressed && mouseButton==RIGHT) boardW*=0.99;//每天多混1%
}
Step05:製作簡易棋盤;
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);
}
}
}
Step06:9X9棋盤遊戲;
Step07:畫線以及黑棋;
void setup(){
size(500,500);
}
int [][] go={
{0,0,0,0,0,0,0,0,1},
{0,0,0,0,0,0,0,0,1},
{0,1,0,0,0,0,0,0,1},
{0,0,0,0,0,0,1,0,1},
{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},
};//陣列 array9x9
void draw(){//用迴圈,畫很多棋
background(246,194,108);//木頭色的棋盤
for(int i=0; i<9; i++){//用迴圈,畫很多線條
line(50,50*i,450,50*i);//湊
line(50*i,50,50*i,450);//湊
}
for(int i=0; i<9; i++){//左手i,對應y座標
for(int j=0; j<9; j++){//右手j,對應x座標
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);
}
}
}
}
void setup(){
size(500,500);
}
int [][] go={//0:沒有棋子1:黑棋2:白棋
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0},
};//陣列 array9x9
int N=0;
void mousePressed(){
int j = (mouseX-25)/50;//右手j,對應X座標
int i = (mouseY-25)/50;//左手i,對應Y座標
go[i][j] = (N%2 == 0)? 1 : 2;
N++;
}
void draw(){//用迴圈,畫很多棋
background(246,194,108);//木頭色的棋盤
for(int i=0; i<9; i++){//用迴圈,畫很多線條
line(50,50*i,450,50*i);//湊
line(50*i,50,50*i,450);//湊
}
for(int i=0; i<9; i++){//左手i,對應y座標
for(int j=0; j<9; j++){//右手j,對應x座標
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);
}
}
}
}








沒有留言:
張貼留言