顯示具有 07160441_吳雨璇 標籤的文章。 顯示所有文章
顯示具有 07160441_吳雨璇 標籤的文章。 顯示所有文章

2020年12月21日 星期一

Carousel~W15

 

PVector user;//外面宣告,setup & draw看得到
void setup(){
  size(600,600);
  user = new PVector(10, 20);//只在setup()
}
void draw(){
background(255);
ellipse( user.x, user.y,20,20);//用它的值
}



憤怒鳥

PVector user;

PVector Y, v=null;

void setup(){

  size(600, 400);

  user = new PVector(100, 300);//(2)只在setu

  Y = new PVector(100, 300);

}

void draw(){

  background(255);

  line( user.x, user.y, Y.x, Y.y);

  textSize(40);

  fill(255,0,0); text("Y", Y.x, Y.y);

  fill(255); ellipse( user.x, user.y,20,20);

  if(v!=null) user.add(v);

}

void mouseDragged(){

  user.x=mouseX;

  user.y=mouseY;

}

void mouseReleased(){

PVector diff = PVector. sub(Y,user);

v = diff.div(10);

}


傳輸速率

void setup(){

pinMode (2, INPUT_PULLUP) ; //拉高的Input

Serial.begin (9600);//開始設定USB的傳輸速度

}

void loop() {//1000Hz (1000 fps)

int x = analogRead (A0);//0...1023

int y = analogRead(A1);//0...1023

int sw= digitalRead(2);//HIGH(放開)or LOW(按下去)

Serial.write (x);

Serial.write ('+') ;

Serial.write(y) ;

Serial.write ('+') ;

Serial.write (sw) ;

Serial.write(' ');

delay (20) ;//1000ms/20ms => 50fps,變慢了

}



void setup()
{
  pinMode(2, INPUT_PULLUP);//拉高的Input
  Serial.begin(9600);//開始設定USB的傳輸速度
}
void loop() {//1000Hz (1000 fps)
  int x = analogRead(A0);//0...1023
  int y = analogRead(A1);//0...1023
  int sw= digitalRead(2);//HIGH(放開)
  
  Serial.write (x/4);//第1個byte
  Serial.write(y/4);//第2個byte
  Serial.write (sw); //第3個byte
  delay(20);//1000ms/20ms => 50fps,變慢了
}

processing

import processing.serial.*;

Serial myPort;

void setup(){

size(256,256);

myPort = new Serial(this, "COM6",9600);

}

int bal1X=0,bal1Y=0;

void draw()

{

 if(myPort.available()>=3)

 {

   int x = myPort.read();

   int y = myPort.read();

   int sw = myPort.read();

   bal1X=x;

   bal1Y=y;

 }

 ellipse(bal1X,bal1Y,10,10);

}



2020年12月14日 星期一

Carousel~電阻

 




void setup() {

  for(int i=2;i<=13;i++)

  pinMode(i,OUTPUT);

  Serial.begin(9600);

  /*pinMode(13,OUTPUT);

  pinMode(8,OUTPUT);*/

}

void loop() {

  int now = analogRead(A0);

  //int level = now/(1024/13);

  int level = now/4;

  for(int i=2;i<=13;i++){

    if(i<level)digitalWrite(i,HIGH);

    else digitalWrite(i,LOW);

  }

  Serial.write(('A'+level));

  delay(20);

  /*tone(8,now);

  digitalWrite(13,HIGH);

  delay(now);//ms

  

  digitalWrite(13,LOW);

  delay(now);*/

}


P語言

import processing.serial.*;
Serial myPort;
void setup(){
  size(700,100);
  myPort = new Serial(this,"COM6",9600);
}
int level=0;
void draw(){
  background(255);
  fill(255,0,0);
  rect(0,0,level*50,100);
  if(myPort.available()>0){
    int now = myPort.read();
    level=now;
  }
}



Carousel~week08


 PImage img;

color nowColor;
void setup(){
 size(250,250);
 img = loadImage("cloud.png");
}
void draw(){
 image(img,0,0); 
 fill(nowColor); rect(0,0,30,30);
}
void mouseMoved(){
 loadPixels();
 int now = width * mouseY + mouseX ;
 nowColor = pixels[now];
 }

2020年12月7日 星期一

Carousel 愛做按按鈕

 

Arduino

void setup() {

  Serial.begin(9600);

  pinMode(2,INPUT_PULLUP);

  pinMode(8,OUTPUT);

}

int state=0;

void loop() {

  // put your main code here, to run repeatedly:

  if(digitalRead(2)==LOW && state==0) {

    state=1;

    Serial.write("1");

  }

  if(digitalRead(2)==HIGH && state==1) {

    state=0;

    Serial.write("0");

  }

  delay(100);

}


processing+Arduino

import processing.serial.*;

Serial myPort;

void setup()

{

  size(300,200);

  myPort = new Serial(this,"COM6",9600);

}

int button=0;

void draw()

{

  if(myPort.available()>0)

  {

    int now = myPort.read();

    println("現在你讀的其實是:"+now);

    if(now == '1') button=1;

    else button=0;

  }

  if(button==1) background(255,0,0);

  else background(255);

}

跟老師做連結

import hypermedia.net.*;

UDP udp;

void setup()

{

  size(300,200);

  udp = new UDP(this,6000);

  udp.send("Connect","120.125.70.53");

}


void draw()

{

  

}


void mousePressed()

{

  udp.send("mousePressed","120.125.70.53",6100);  

}

2020年11月30日 星期一

Carousel~week12

Arduino

#define Do 523

#define Re 587

#define Mi 659

#define Fa 698

#define So 784

#define La 880

#define Si 988

void setup() {

  // put your setup code here, to run once:

  Serial.begin(9600);///USB傳輸速度 

 pinMode(2,INPUT_PULLUP);

 pinMode(8,OUTPUT);

 tone(8,Do);

 delay(100);

 tone(8,Mi);

 delay(100);

 tone(8,So);

 delay(100);

 noTone(8);

}

void loop() {

  // put your main code here, to run repeatedly:

  while(Serial.available() > 0)

  {

    int now=Serial.read();

    if(now=='1')tone(8,Do,100);

    if(now=='2')tone(8,Re,100);

    if(now=='3')tone(8,Mi,100);

    if(now=='4')tone(8,Fa,100);

    if(now=='5')tone(8,So,100);  

    if(now=='6')tone(8,La,100);

    if(now=='7')tone(8,Si,100);

    if(now=='0')noTone;

  }

  //if(digitalRead(2)==LOW)tone(8,Mi,100);

}


Processing:

import processing.serial.*;

Serial myPort;

void setup() {

  size(200,200);

  myPort = new Serial(this,"COM6",9600);

  // put your setup code here, to run once:

}

void draw(){

  

  }

void keyPressed(){

if(key=='1')myPort.write("1");

if(key=='2')myPort.write("2");

if(key=='3')myPort.write("3");

if(key=='4')myPort.write("4");

if(key=='5')myPort.write("5");

if(key=='6')myPort.write("6");

if(key=='7')myPort.write("7");

}

void keyReleased(){

myPort.write("0");

}

void loop() {

  myPort.write("1");

  // put your main code here, to run repeatedly:


}

2020年11月23日 星期一

更改音檔

#define lDo 262

#define lRe 294

#define lMi 330

#define lFa 349

#define lSo 392

#define lLa 440

#define lSi 494

#define Do 523

#define Re 587

#define Mi 659

#define Fa 698

#define So 784

#define La 880

#define Si 988

#define hDo 1047

#define hRe 1175

#define hMi 1319

#define hFa 1397

#define hSo 1568

#define hLa 1760

#define hSi 1976


int melody[]={

La,Si,hDo,Si,hDo,hMi,Si,Mi,La,So,La,hDo,So,Fa,Mi,Fa,Mi,//17

Fa,hDo,Mi,hDo,hDo,hDo,Si,Fa,Fa,Si,Si,La,Si,hDo,Si,hDo,hMi,//17

Si,Mi,Mi,La,So,La,hDo,So,Mi,Fa,hDo,Si,hDo,hRe,hMi,hDo,//16

hDo,Si,La,Si,So,La,hDo,hRe,hMi,hRe,hMi,hSo,hRe,So,So,hDo,//16

Si,hDo,hMi,hMi,La,Si,hDo,Si,hDo,hRe,hDo,So,So,hFa,hMi,hRe,//16

hDo,hMi,hMi,hLa,hSo,hMi,hRe,hDo,hRe,hDo,hRe,hSo,hMi,hMi,//14

hLa,hSo,hMi,hRe,hDo,hRe,hDo,hRh,Do,Si,La,Si,So,La };///音符14

void setup() {

  // put your setup code here, to run once:

  delay(1000);

  pinMode(8,OUTPUT);

  for(int i=0;i<110;i++)

  {

    tone(8,melody[i],110);

    delay(200);

    }

}


void loop() {

  // put your main code here, to run repeatedly:


}

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

}





void setup(){

size(500,500);

}

void draw(){

  //background(255);

  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);//ellipse(x,y,2,2);

  }

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

      }

    }

  }

} 


加分



void setup(){

size(500,500);


}

void draw()

{

  //background(255);

  float r=0;

  float num=0;

  float y1=40;

  float x1=40;

  beginShape();

  for(int line=0;line<7;y1+=60)

  {

    if(num==7)

      {  

       num=0;

       x1=40;

       line+=1;

       }

    if(line%2==0)

    {

      

       for(num=0;num<7;x1+=70)

       {

         if(num%2==0)

         {

          beginShape();

         for(int angle=0;angle<360;angle+=120)

         {

          float angle2 =radians(angle+30);

          float x =x1+cos(angle2)*30;

          float y =y1+sin(angle2)*30;

          stroke(0,0,255);

          vertex(x,y);//ellipse(x,y,2,2);

          }

          endShape(CLOSE);

          beginShape();

         for(int angle=0;angle<360;angle+=120)

         {

          float angle2 =radians(angle+30);

          float x =x1+cos(angle2)*20;

          float y =y1+sin(angle2)*20;

          stroke(0,0,255);

          vertex(x,y);//ellipse(x,y,2,2);

          }

          endShape(CLOSE);

          beginShape();

         for(int angle=0;angle<360;angle+=120)

         {

          float angle2 =radians(angle+30);

          float x =x1+cos(angle2)*10;

          float y =y1+sin(angle2)*10;

          stroke(0,0,255);

          vertex(x,y);//ellipse(x,y,2,2);

          }

          endShape(CLOSE);

          num+=1;

         } 

         else

         {

          beginShape();

         for(int angle=0;angle<360;angle+=120)

         {

          float angle2 =radians(angle+30);

          float x =x1+cos(angle2)*30;

          float y =y1+sin(angle2)*30;

          stroke(255,0,0);

          vertex(x,y);//ellipse(x,y,2,2);

          }

          endShape(CLOSE);

          beginShape();

         for(int angle=0;angle<360;angle+=120)

         {

          float angle2 =radians(angle+30);

          float x =x1+cos(angle2)*20;

          float y =y1+sin(angle2)*20;

          stroke(255,0,0);

          vertex(x,y);//ellipse(x,y,2,2);

          }

          endShape(CLOSE);

          beginShape();

         for(int angle=0;angle<360;angle+=120)

         {

          float angle2 =radians(angle+30);

          float x =x1+cos(angle2)*10;

          float y =y1+sin(angle2)*10;

          stroke(255,0,0);

          vertex(x,y);//ellipse(x,y,2,2);

          }

          endShape(CLOSE);

          num+=1;

         } 

        }

        

    }

    else{

                        for(num=0;num<7;x1+=70)

                        {

                          if(num%2==0)

                          {

                              beginShape();

                              for(int angle=0;angle<360;angle+=120)

                              {

                                float angle2 =radians(angle+380);

                                 //float angle2 =radians(angle+180);

                                float x =x1+cos(angle2)*30;

                                float y =y1+sin(angle2)*30;

                                stroke(255,0,0);

                                vertex(x,y);//ellipse(x,y,2,2);

                              }

                              endShape(CLOSE);

                              beginShape();

                              for(int angle=0;angle<360;angle+=120)

                              {

                                float angle2 =radians(angle+380);

                                 //float angle2 =radians(angle+180);

                                float x =x1+cos(angle2)*20;

                                float y =y1+sin(angle2)*20;

                                stroke(255,0,0);

                                vertex(x,y);//ellipse(x,y,2,2);

                              }

                              endShape(CLOSE);

                               beginShape();

                              for(int angle=0;angle<360;angle+=120)

                              {

                                float angle2 =radians(angle+380);

                                 //float angle2 =radians(angle+180);

                                float x =x1+cos(angle2)*10;

                                float y =y1+sin(angle2)*10;

                                stroke(255,0,0);

                                vertex(x,y);//ellipse(x,y,2,2);

                              }

                              endShape(CLOSE);

                              num+=1;

                           }

                          else

                          {

                              beginShape();

                              for(int angle=0;angle<360;angle+=120)

                              {

                                float angle2 =radians(angle+170);

                                float x =x1+cos(angle2)*30;

                                float y =y1+sin(angle2)*30;

                                stroke(0,0,255);

                                vertex(x,y);//ellipse(x,y,2,2);

                              }

                              endShape(CLOSE);

                              beginShape();

                              for(int angle=0;angle<360;angle+=120)

                              {

                                float angle2 =radians(angle+170);

                                float x =x1+cos(angle2)*20;

                                float y =y1+sin(angle2)*20;

                                stroke(0,0,255);

                                vertex(x,y);//ellipse(x,y,2,2);

                              }

                              endShape(CLOSE);

                              beginShape();

                              for(int angle=0;angle<360;angle+=120)

                              {

                                float angle2 =radians(angle+170);

                                float x =x1+cos(angle2)*10;

                                float y =y1+sin(angle2)*10;

                                stroke(0,0,255);

                                vertex(x,y);//ellipse(x,y,2,2);

                              }

                              endShape(CLOSE);

                              num+=1;

                           }

                         }

                      }

  }

}

2020年10月19日 星期一

week06_文字

 

fill(255,0,0);//文字填充顏色

textSize(40);//字體大小

text("Hello",30,30);//字&左下位置



size(500,500);
//rect(100,100,100,100);
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);

互動遊戲
int [][]A={{1,1,1},{0,1,0},{0,1,1},{1,1,1}};
size(300,400);
for(int i=0;i<4;i++){
  for(int j=0;j<3;j++){
    if(A[i][j]==0)fill(0);
    else fill(255,255,0);
    
    rect(j*100,i*100,100,100);
  }
}



int [][]A={{2,2,2,2},{0,1,1,1},{0,1,1,1},{2,2,2,2}};
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);
    }
  }
}








int [][]A={{2,2,2,2},{0,1,1,1},{0,1,1,1},{2,2,2,2}};

PImage bird,pig;

void mousePressed(){

int i=int(mouseY/100);

int j=int(mouseX/100);

float r=random(3);

if(A[i][j]==0)A[i][j]=(int)r;

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


  }

}

}



2020年10月12日 星期一

week05_切水果

.



第二步驟_拋物線

第三步驟_隨機產生

第四步驟_砍水果

第五步驟_加音效

import processing.sound.*;

SoundFile sound1;

SoundFile sound2;

 PImage img;

float x=100, y=100 , vx=3, vy=-30;

int fruitDie=0;

void setup(){

  size(500,500);

  img = loadImage("fruit.png");

sound1 = new SoundFile(this,"stabbing.mp3");

  sound2 = new SoundFile(this,"summer.mp3");

  ///sound1.play();

  sound2.loop();

}

void draw(){

  image(img,x,y,100,100);

  x+=vx;

  y+=vy;

  vy+=0.98;

if(y>500){///下一步驟會改

 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;

  }

  }///

}

void mousePressed(){

  sound1.play();

}



PImage img;

float x=100, y=100 , vx=3, vy=-30;

int fruitDie=0;

void setup(){

  size(500,500);

  img = loadImage("fruit.png");

}

void draw(){

  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 processing.sound.*;

SoundFile sound1;

SoundFile sound2;

PImage img;

float x=100, y=100 , vx=3, vy=-30;

int fruitDie=0;

void setup(){

  size(500,500);

  img = loadImage("fruit.png");

  sound1 = new SoundFile(this,"stabbing.mp3");

  sound2 = new SoundFile(this,"summer.mp3");

  ///sound1.play();

  sound2.loop();

}

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;

  }

}

void mousePressed(){

  sound1.play();

}

2020年10月5日 星期一

Week04 顯示圖片+點的運動

 

PImage img;

size(1000,560);

img = loadImage("image.jpg");

image(img,0,0);



PImage img;

PImage imgg;

void setup(){

  size(1000,560);

  img = loadImage("image.jpg");

  imgg = loadImage("image1.jpeg");

}

void draw(){

image(img,0,0);

image(imgg,mouseX-50,mouseY-50,100,100);

}


卷軸移動




PImage img;

PImage imgg;

void setup(){

  size(800,800);

  img = loadImage("pic2.png");

  imgg = loadImage("pic1.png");

}

int x=0;

void draw(){

if(mouseX>400)x--;

image(img,x,0);

image(imgg,mouseX-50,mouseY-50,100,100);

}



直線反彈運動



float x=250,y=200;

float vx=1.0,vy=2.5;

void setup(){

  size(500,400);

}

void draw(){

ellipse(x,y,10,10);

x+=vx;

y+=vy;

if(x>500 || x<0)vx=-vx;

if(y>400 || y<0)vy=-vy;

}

加上牛二

float x=250,y=200;

float vx=1.3,vy=-14;

void setup(){

  size(500,400);

}

void draw(){

  background(255);

if(mousePressed)line(mouseX,mouseY,x,y);

ellipse(x,y,10,10);

ellipse(mouseX,mouseY,10,10);

x+=vx;

y+=vy;

vy+=0.98;

if(x>500 || x<0)vx=-vx*0.85;

if(y>400 || y<0)vy=-vy*0.85;

}

//void mouseReleased()

//{

 // vx = x-mouseX;

  //vy = y-mouseY;

//}

2020年9月21日 星期一

Week02

 

基礎

size(500,500);///視窗大小

background(#00B9FF);///背景顏色

stroke(0,0,255);///線條顏色

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

rect(100,100,300,300);///方形

        左上角    X    Y

ellipse(x圓心座標,y圓心座標,x大小,y大小);



void setup(){

 size(500,500);  

}

void draw(){

if(mousePressed)background(255,0,255);

else background(0,0,255);

}

void setup(){

 size(500,500);  

}

void draw(){

if(mousePressed)

line(mouseX,mouseY,pmouseX,pmouseY);

}

小試身手


void setup(){
 size(500,500);  
}
void draw(){
if(mousePressed){
  float r= random(255);
  float g= random(255);
  float b= random(255);
  stroke(r,g,b);
  line(mouseX,mouseY,pmouseX,pmouseY);
  
  }


小畫家









void setup(){

 size(500,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)

  {

    strokeWeight(3);///線的粗細

    line(mouseX,mouseY,pmouseX,pmouseY);

  }

  

}


新增功能-----存檔

void setup(){

 size(500,500);  

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

}

void keyPressed()

{

  save("week02.png");

}

void draw(){

  

  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)

  {  

    float r=random(5);

    strokeWeight(r);

    line(mouseX,mouseY,pmouseX,pmouseY);

  }

  

}