顯示具有 05160655_羅聖閔 標籤的文章。 顯示所有文章
顯示具有 05160655_羅聖閔 標籤的文章。 顯示所有文章

2018年11月22日 星期四

WEEK08 期中作業



遊戲操作

空白鍵發射子彈
滑鼠控制飛機
射擊目標得分

分數分級

S<500   
失敗
500<=S<800
再加油
S>800
勝利

WEEK11


 播放音樂
int piezoPin = 8;
int length = 15;
char notes[] = "ccggaag ffeeddc ggffeed ggffeed ccggaag ffeeddc ";      // a space represents a rest
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;

void playTone(int tone, int duration) 
{
  for (long i = 0; i < duration * 1000L; i += tone * 2) 
  {
    digitalWrite(piezoPin, HIGH);
    delayMicroseconds(tone);
    digitalWrite(piezoPin, LOW);
    delayMicroseconds(tone);
  }
}

void playNote(char note, int duration) 
{
  char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
  int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
  for (int i = 0; i < 8; i++) 
  {
    if (names[i] == note) 
    {
      playTone(tones[i], duration);
    }
  }
}

void setup() 
{
  pinMode(piezoPin, OUTPUT);
}

void loop() 
{
  for (int i = 0; i < length; i++) 
  {
    if (notes[i] == ' ') 
    {
      delay(beats[i] * tempo);
    } else 
      playNote(notes[i], beats[i] * tempo);
    delay(tempo / 2); 
  }
}
卡歌

Week12


2018年10月11日 星期四

WEEK05

01.接雞蛋
float [] eggX=new float[100];
float [] eggY=new float[100];
void setup()
{
  for (int i=0; i<100; i++)
  {
    size(800, 600);
    eggX[i]=random(100, 700);///100~700隨機取一個數
    eggY[i]=-random(2000);
  }
}
void draw()
{
  background(255);
  for (int i=0; i<100; i++)
  {
    ellipse(eggX[i], eggY[i], 80, 100);
    eggY[i]+=5;
  }
}
float [] eggX=new float[100];
float [] eggY=new float[100];
boolean[]eggDie=new boolean[100];
void setup()
{
   size(800,600);
  for (int i=0; i<100; i++)
  {
    eggX[i]=random(100, 700);
    eggY[i]=-random(2000);
    eggDie[i]=false;
  }
}
void draw()
{
  background(255);
  
  for (int i=0; i<100; i++)
  {
    if(eggDie[i])continue;
    ellipse(eggX[i], eggY[i], 80, 100);
    eggY[i]+=5;
    if(eggY[i]>700)eggY[i]=-2000+600;
    if(dist(mouseX,mouseY,eggX[i],eggY[i])<50)
    {
       eggDie[i]=true;
    }
  }

}

2018年10月4日 星期四

WEEK04

01.文字基本

void setup()
{
  size(800,600);
}
void draw()
{
  fill(255,0,0);rect(100,100,100,100);
///方塊往下畫
  fill(0,0,0);text("123456",100,100);
///文字往上

}
 02.子彈
void setup()
{
  size(800,600);
}
void draw()
{
  background(255);
  fill(255,0,0);rect(100,100,100,100);
  if(bulletFlying)
  {
    ellipse(bulletX,bulletY,50,50);
    bulletX+=3;
  }
  
}
float bulletX=100,bulletY=100;
boolean bulletFlying=false;
void keyPressed()
{
  bulletFlying=true;

}
03.100個子彈

void setup()
{
  size(800,600);
}
void draw()
{
  background(255);
  fill(255,0,0);rect(100,100,100,100);
  for(int i=0;i<bulletN;i++)
  {
    if(bulletFlying[i])
    {
      ellipse(bulletX[i],bulletY[i],50,50);
      bulletX[i]+=3;
    }
  }
  
}

float []bulletX=new float [100];

float []bulletY=new float [100];
int bulletN=0;
boolean []bulletFlying= new boolean[100];
void keyPressed()
{
  bulletFlying[bulletN]=true;
  bulletX[bulletN]=100;
  bulletY[bulletN]=100;
  bulletN++;        

}

2018年9月27日 星期四

WEEK03

01.畫圓
02.圓跟三角形的關係

void setup()
{
    size(500,500);
    
}
void draw()
{
    ellipse(250,250,480,480);
    triangle(250,250,250,10,200,150);

}
03.
void setup()
{
    size(500,500);
    
}
void draw()
{
    ellipse(250,250,480,480);
    for(float angle=0; angle<PI*2;angle+=PI/3)
    {
    triangle(250,250,
            250+240*cos(angle),250+240*sin(angle),
            250+240*cos(angle+PI/3),250+240*sin(angle+PI/3)
            );
    }

}

2018年9月20日 星期四

WEEK02

01.
    課堂複習https://www.openprocessing.org/
02.

void setup()

{

  size(1080,720);

}

int R=30;
void draw(){
  if(mousePressed)ellipse(mouseX,mouseY,R,R);
  R-=3;
  if(R<0)R=30;

}
03.
colorMode()和fill()的應用
void setup()
{
  size(1080,720);
  colorMode(HSB,100);
}
int R=30,H=0;
void draw(){
  fill(H,100,100);
  if(mousePressed)ellipse(mouseX,mouseY,R,R);
  R-=3;
  if(R<0)R=30;
  H++;
  if(H>=100)H=0;

}
04.
random()和座標的應用

void setup()
{
  size(1080,720);
  colorMode(HSB,100);
}
int R=50,H=0;
int CircleX=540,CircleY=360;
void draw(){
  fill(H,100,100);
  ellipse(CircleX,CircleY,R,R);
  R-=2;
  CircleX+=random(30)-15;
  CircleY+=random(30)-15;
  if(R<0)
  {
     R=30;
     CircleX=540;CircleY=360;
  }
  H++;
  if(H>=100)H=0;

}
05.
imge的應用
PImage img;
void setup()
{
  size(1280,720);
  img = loadImage("0123.jpg");
}
void draw()
{
  image(img,mouseX,mouseY);
}
crtl+K
06.
背景
PImage img ,imgBG;
void setup()
{
  size(1280,720);
  img = loadImage("0123.jpg");
  imgBG = loadImage("222.jpg");
}
void draw()
{
  image(imgBG,0,0,width,height);
  image(img,mouseX,mouseY);
}

2018年9月13日 星期四

WEEK01

01.下載
 facebook相簿

02.點線面
size(800,600);      --------視窗大小
line(0,0,100,100);---------畫線
rect(100,100,50,60);------畫方形

03.改變背景顏色

void setup(){
  size(800,600);
}
void draw(){
  if(mousePressed)background(255,0,0); 
  else background(0,255,0);
}
04.寫字
void setup(){
  size(800,600);
}
void draw()
{
  if(mousePressed) line (mouseX,mouseY,pmouseX,pmouseY);
}
05.設置KEY/改粗細顏色
size(800,600);
}
void draw()
{
  if(mousePressed) 
  {
    line (mouseX,mouseY,pmouseX,pmouseY);
  }
}
void keyPressed(){
  if(key=='1')strokeWeight(1);
  if(key=='2')strokeWeight(2);
  if(key=='9')strokeWeight(9);
  if(key=='r')stroke(255,0,0);
  if(key=='g')stroke(0,255,0);
  if(key=='b')stroke(0,0,255);
}