顯示具有 06160221_嚴柏宇 標籤的文章。 顯示所有文章
顯示具有 06160221_嚴柏宇 標籤的文章。 顯示所有文章

2020年12月14日 星期一

week14

旋轉燈漸層發亮

arduino:
void setup() {
  // put your setup code here, to run once:
  for(int i=2;i<=13;i++){
    pinMode(i,OUTPUT);
  }
  Serial.begin(9600);
 
}
void loop() {
  // put your main code here, to run repeatedly:
  int now=analogRead(A0);
  int level=now/(1024/13);
  for(int i=2;i<=13;i++){
    if(i<level)digitalWrite(i,HIGH);
    else digitalWrite(i,LOW);
  }
  Serial.write(level);
  delay(20);
}

會跟著uno板子上的燈對應
跑出亮的多少

2020年11月23日 星期一

week11

今天老師發了一塊maker uno
利用Arduino 打程式然後發出聲音 製作音樂

2020年10月26日 星期一

week07

size(500,500);
for(int angle=0;angle<360;angle+=30){
  float angle2=radians(angle);
  float x=100+cos(angle2)*50;
  float y=100+sin(angle2)*50;
  ellipse(x,y,2,2);
}

size(500,500);
beginShape();
for(int angle=0;angle<360;angle+=30){
  float angle2=radians(angle);
  float x=100+cos(angle2)*50;
  float y=100+sin(angle2)*50;
  vertex(x,y);
}
endShape(CLOSE);


void setup(){
  size(500,500);
}
void draw(){
  beginShape();
  for(int angle=0;angle<360;angle+=120){
    float angle2=radians(angle+mouseX);
    float x=100+cos(angle2)*50;
    float y=100+sin(angle2)*50;
    vertex(x,y);
  }
  endShape(CLOSE);
}


void setup(){
  size(500,500);
}
void draw(){
  beginShape();
  for(int angle=0;angle<360;angle+=120){
    float angle2=radians(angle+mouseX);
    float x=mouseX+cos(angle2)*50;
    float y=mouseY+sin(angle2)*50;
    vertex(x,y);
  }
  endShape(CLOSE);

}


void setup(){
  size(500,500);
}
void draw(){
  beginShape();
  for(int angle=0;angle<360;angle+=120){
    float angle2=radians(angle+frameCount);
    float x=mouseX+cos(angle2)*50;
    float y=mouseY+sin(angle2)*50;
    vertex(x,y);
  }
  endShape(CLOSE);

}
接雞蛋
float [] fruitX=new float[10];
float [] fruitY=new float[10];
float kidX=150,kidY=450;
int score=0;
void setup(){
   size(500,500);
   for(int i=0;i<10;i++){
       fruitX[i]=random(50,450);
       fruitY[i]=-i*100;
   }
}
void draw(){
  background(255);
  rect(kidX,kidY,50,80);
  kidX=mouseX;
  for(int i=0;i<10;i++){
    ellipse(fruitX[i],fruitY[i],60,80);
    fruitY[i]++;
    if(fruitY[i]>kidY){
      if(kidX<fruitX[i]&&fruitX[i]<kidX+80){
        score+=10;
        fruitY[i]=0;fruitX[i]=random(50,450);
      }
      else{
        fruitY[i]=0;fruitX[i]=random(50,450);
      }
    }
  }
}
   



2020年10月19日 星期一

week04




PImage img;
float x=100,y=200;
void setup(){
  size(500,500);
  img=loadImage("1.png");
}
void draw(){
    image(img,x,y,100,100);
}


拋物線
PImage img;
float x=100,y=200,vx=3,vy=-30;
void setup(){
  size(500,500);
  img=loadImage("1.png");
}
void draw(){
    image(img,x,y,100,100);
    x+=vx;
    y+=vy;
    vy+=0.98;
}


切水果

PImage img;
float x=100,y=500,vx=3,vy=-30;
int fruitDie=0;
void setup(){
  size(500,500);
  img=loadImage("1.png");
}
void draw(){
  background(0);
    image(img,x,y,100,100);
    x+=vx;
    y+=vy;
    vy+=0.98;
    if(y>500) fruitDie=1;
    if(x<mouseX && mouseX<x+100 && y<mouseY &&mouseY<y+100)fruitDie=1;
    stroke(255);line(mouseX,mouseY,pmouseX,pmouseY);
    if(fruitDie==1){
      if(frameCount%2==0){
        x=random(250);y=500;vx=random(2,3);vy=-random(28,32);
      }
      else{
        x=random(250,500);y=500;vx=-random(2,3);vy=-random(28,32);
      }
    fruitDie=0;
   }
}



聲音
import ddf.minim.*;
Minim minim;
AudioPlayer player1;
AudioPlayer player2;
PImage img;
float x=100,y=500,vx=3,vy=-30;
int fruitDie=0;
void setup(){
  size(500,500);
  img=loadImage("1.png");
  minim=new Minim(this);
  player1=minim.loadFile("wind.wav");
  player2=minim.loadFile("swords.wav");
}
void draw(){
  background(0);
    image(img,x,y,100,100);
    x+=vx;
    y+=vy;
    vy+=0.98;
    if(y>500) fruitDie=1;
    if(x<mouseX && mouseX<x+100 && y<mouseY &&mouseY<y+100)
    fruitDie=1;
    player2.rewind();
    player2.play();
    stroke(255);line(mouseX,mouseY,pmouseX,pmouseY);
    if(fruitDie==1){
      if(frameCount%2==0){
        x=random(250);y=500;vx=random(2,3);vy=-random(28,32);
      }
      else{
        x=random(250,500);y=500;vx=-random(2,3);vy=-random(28,32);
      }
    fruitDie=0;
   }
}

week06


字體在框框內
size(500,400);
rect(100,100,200,100);
fill(255,0,0);
textSize(40);
textAlign(LEFT,TOP);
text("Hello",100,100);
字體
size(800,300);
fill(255,0,0);
PFont font1=createFont("Times New Roman",30);
textFont(font1);
text("中文vs.English",30,30);
PFont font2=createFont("標楷體",30);
textFont(font2);
text("中文vs.English",30,130);

陣列
          //右:0,1,2,x座標
int [][]A={  {1,1,1},
             {0,1,0},
             {0,1,1},
             {1,1,1}  };
          //左邊:高4層
size(300,400);
for(int i=0; i<4;i++){//左邊
   for(int j=0;j<3;j++){//右邊
      if(A[i][j]==0)fill(0);//0:黑(沒有)
      else fill(255,0,0);//1:紅色(有紅色)
     
      rect(j*100,i*100,100,100);
   }
}
二維陣列

          //右:0,1,2,x座標
int [][]A={  {2,2,2,2},
             {0,1,1,1},
             {0,1,1,1},
             {2,2,2,2}  };
          //左邊:高4層
          PImage bird,pig;
void setup(){
  size(400,400);
  bird=loadImage("bird.png");
  pig=loadImage("pig.png");
}
void draw(){
  background(0);
  for(int i=0; i<4;i++){//左邊
   for(int j=0;j<4;j++){//右邊
      if(A[i][j]==1)image(bird,j*100,i*100,100,100);
      if(A[i][j]==2)image(pig, j*100,i*100,100,100);
   }
  }
}

點擊清除陣列
          //右:0,1,2,x座標
int [][]A={  {2,2,2,2},
             {0,1,1,1},
             {0,1,1,1},
             {2,2,2,2}  };
          //左邊:高4層
          PImage bird,pig;
void mousePressed(){
  int i= int(mouseY/100);
  int j= int(mouseX/100);
  A[i][j]=0;
}
void setup(){
  size(400,400);
  bird=loadImage("bird.png");
  pig=loadImage("pig.png");
}
void draw(){
  background(0);
  for(int i=0; i<4;i++){//左邊
   for(int j=0;j<4;j++){//右邊
      if(A[i][j]==1)image(bird,j*100,i*100,100,100);
      if(A[i][j]==2)image(pig, j*100,i*100,100,100);
   }
  }
  ellipse(mouseX,mouseY,25,25);
  text("mouseX:"+mouseX+" mouseY:"+mouseY,100,100);
}

2020年10月5日 星期一

week04

PImage img;
size(595,339);
img=loadImage("R4.jpg");
image(img,0,0);

圖片可移動
PImage img;
PImage img2;
void setup()
{
  size(595,339);
  img=loadImage("R4.jpg");
  img2=loadImage("R4.jpg");
}
void draw(){
image(img,0,0);
image(img2,mouseX-54/2,mouseY-49/2,54,49);
}

2020年9月21日 星期一

week02 06160221

 

背景顏色 畫出方形

size(500,500);

background(#00B9FF);

stroke(255,0,0);///方形邊框的線

fill(255,255,0);///填滿方形


rect(100,100,300,300);

 

按一下變色
void setup(){
   size(500,500);
}
void draw(){
   if(mousePressed) background(255,0,255);
   else background(0,255,0);
}


小畫家
void setup(){
   size(500,500);
}
void draw(){
   if(mousePressed){
     line(mouseX,mouseY,pmouseX,pmouseY);
   }
}
小畫家調色盤
void setup(){
   size(600,500);
}
void draw(){
   fill(#ff0000); rect(0,0,100,100);
   fill(#ffff00); rect(0,100,100,100);
   fill(#00ff00); rect(0,200,100,100);
   fill(#0000ff); rect(0,300,100,100);
   fill(#ff00ff); rect(0,400,100,100);
   if(mousePressed && mouseX<100){
      if(mouseY<100) stroke(#ff0000);
      else if(mouseY<200) stroke(#ffff00);
      else if(mouseY<300) stroke(#00ff00);
      else if(mouseY<400) stroke(#0000ff);
      else if(mouseY<500) stroke(#ff00ff);
   } else if(mousePressed && mouseX>100){
     line(mouseX,mouseY,pmouseX,pmouseY);
   }
}

void setup(){
   size(600,500);
   fill(#ff0000); rect(0,0,100,100);
   fill(#ffff00); rect(0,100,100,100);
   fill(#00ff00); rect(0,200,100,100);
}
void draw(){
   line(100,0,100,500);
   if(mousePressed && mouseX<100){
      if(mouseY<100) stroke(#ff0000);
      else if(mouseY<200) stroke(#ffff00);
      else if(mouseY<300) stroke(#00ff00);
      else if(mouseY<400) stroke(#0000ff);                                                        
      else if(mouseY<500) stroke(#ff00ff);
   } 
    if(mousePressed && mouseX>100){
     line(mouseX,mouseY,pmouseX,pmouseY);
   }
}


按任意件可儲存照片
在按ctrl+k開啟目錄資料夾
void setup(){
   size(600,500);
   fill(#ff0000); rect(0,0,100,100);
   fill(#ffff00); rect(0,100,100,100);
   fill(#00ff00); rect(0,200,100,100);
   strokeWeight(5);
}
void keyPressed(){
   save("yes.png");
}
void draw(){
   line(100,0,100,500);
   if(mousePressed && mouseX<100){
      if(mouseY<100) stroke(#ff0000);
      else if(mouseY<200) stroke(#ffff00);
      else if(mouseY<300) stroke(#00ff00);
      else if(mouseY<400) stroke(#0000ff);                                                        
      else if(mouseY<500) stroke(#ff00ff);
   } 
    if(mousePressed && mouseX>100){
     line(mouseX,mouseY,pmouseX,pmouseY);
   }
}