2022年9月26日 星期一

week04

  void setup(){

  size(500,500);

}

int x=250, y=250;

void draw(){

  ellipse ( x, y, 10, 10);

  x = x + 1;

  y = y - 1;

}


反彈

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;
}



void setup(){
  size(500,500);
}
float x=250,y=250;
float vx=2.0,vy=-1.5;///x數字越大,y的數字越小,速度越快
void draw(){
  background(#FFFFF2);///增加背景色,消除殘影
  int boardX= mouseX;///設定板子為boardX且boardX會跟著滑鼠
  rect(boardX,470,100,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+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=100,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;
  }
  if(mousePressed && mouseButton==LEFT)boardW*=1.01;
  if(mousePressed && mouseButton==RIGHT)boardW*=0.99;
}

按住左鍵時可增加底部的長度



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);
      }
    }
}



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,0,0,0,0,0,0,0,1},
  {0,0,0,0,0,0,0,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},
};
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);
      }
    }
}



void setup(){
  size(500,500);
}
int [][]go={
  {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,2,0,0,0},
  {0,0,0,1,0,0,0,0,0},
  {0,0,0,0,0,0,0,1,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}
};
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 x=0;x<9;x++){
    for(int y=0;y<9;y++){
      if(go[x][y]==1){
        fill(#000000);
        ellipse(50+x*50,50+y*50,40,40);
      }else if(go[x][y]==2){
        fill(#FFFFFF);
        ellipse(50+x*50,50+y*50,40,40);
      }
    }
  }
}


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 x=(mouseX-25)/50;
  int y=(mouseY-25)/50;
  go[x][y]=(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 x=0;x<9;x++){
    for(int y=0;y<9;y++){
      if(go[x][y]==1){
        fill(#000000);
        ellipse(50+x*50,50+y*50,40,40);
      }else if(go[x][y]==2){
        fill(#FFFFFF);
        ellipse(50+x*50,50+y*50,40,40);
      }
    }
  }
}






沒有留言:

張貼留言