顯示具有 05161190_李宜謙 標籤的文章。 顯示所有文章
顯示具有 05161190_李宜謙 標籤的文章。 顯示所有文章

2019年1月16日 星期三

Week12 李宜謙

一同去郊遊,去了 Hackerspace 做光劍去

我因為車子壞掉缺席,但後來我有去補做!
大家分工一起做了三隻光劍,超炫的一起耍中二

中二病


           禁止停車聽不懂??

小助手與我們


2018年11月22日 星期四

Week11 李宜謙

延續上週在用一些範例程式來弄弄看不同的效果

上週LED依序亮起來,不停得閃爍

void setup()
{
    for(int i=2;i<=13;i++){
    pinMode(i,OUTPUT);//設定Led為output
    }
}

void loop()
{
     for(int i=2;i<=13;i++){
    digitalWrite(i,HIGH); //LED 閃爍
    delay(300);
     }
     for(int i=2;i<=13;i++){
    digitalWrite(i,LOW);
     }
}

上週利用蜂鳴器演奏小蜜蜂

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

LED對照音符發亮

void playNote(char note, int duration) 
{
  int LED[]={2,3,4,5,6,7,9,10};
  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) 
    {
      digitalWrite(LED[i],HIGH);
      playTone(tones[i], duration);
      digitalWrite(LED[i],LOW);
    }
  }
}

void setup() 
{
  //pinMode(piezoPin, OUTPUT);
  for(int i=2;i<=13;i++)pinMode(i,OUTPUT);
}
void playNote(char note, int duration) 
{
  int LED[]={3,4,5,6,7,9,10,11};
  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) 
    {
      digitalWrite(LED[i],HIGH);
      playTone(tones[i], duration);
      digitalWrite(LED[i],LOW);
    }
  }
}

Week10 李宜謙

MakerUno 與Arduino的驅動程式與測試!!

Week 10 Part 1 -Getting Started
在Facebook社團中,找到網址點進去,往下拉點擊 CH341 Driver for Windows here下載



安裝並連接到對的COM連接阜


Week 10 Part 2 - 簡單的程式操作
進入Facebook社團,點到老師新給的網址,複製上面的程式碼



讓LED閃爍的程式傳到UNO板子上,會看到UNO板子上有一顆藍色的LED不停的閃爍
接著傳送到UNO上,則板子會發有小星星的音樂

2018年11月8日 星期四

Week09 李宜謙

Maker uno
1.下載套件
2.開啟Aduno

由於很多同學帶的USB 線只能用來充電,
老師的電腦也一直在重開機,
所以今天的課上得不是很順利。

不開心😠😠😠😠😠
最後是教的是上星期期中展示的籃球機,
改良投籃如果打框會彈跳才夠真實。

籃球
if(dist(ballX[i],ballY[i],190,310)<50 && ballVY[i]>0) ballVY[i]=-ballVY[i];

2018年10月18日 星期四

Week06 李宜謙

播放音樂

要播放音樂的前提:

速寫本→引用文件庫→添加文件→下載Minim和Sound
回到速寫本引用文件庫→點選Sound

程式碼:

import ddf.minim.*;


Minim minim;
AudioPlayer player;
void setup(){
  minim = new Minim(this);
  player=minim.loadFile("groove.mp3");
  player.play();
}
void draw(){
 
}

延續上周的Ninja Fruit

只有一顆水果拋出 



讓水果分散一點出現


重力加速度往下掉


2018年10月11日 星期四

Week05 李宜謙


接雞蛋




















程式碼:

float[] eggX=new float[100];
float[] eggY=new float[100];
void setup(){
  size(800,600);
  for(int i=0;i<100;i++){ //雞蛋隨機掉落
    eggX[i]=random(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[] EggsDie=new boolean[100];
void setup(){
  size(800,600);
  for(int i=0;i<100;i++){
    eggX[i]=random(100,700);//random
    eggY[i]=-random(2000);
    EggsDie[i]=false;
  }
}
void draw(){
  background(255);
  rect(mouseX-50,mouseY-25,100,50);
  for(int i=0;i<100;i++){ //所有的雞蛋
    if(EggsDie[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){ //碰到雞蛋底,雞蛋就會消失(較合理)
      EggsDie[i]=true; //如果方形碰到雞蛋,則雞蛋消失
    }
  }
}


計算分數

程式碼:

PImage [] imgN=new PImage[10]; //放入10個好看的數字
float[] eggX=new float[100];
float[] eggY=new float[100];
boolean[] EggsDie=new boolean[100];
void setup(){
  size(800,600);
  for(int i=0;i<=9;i++) imgN[i] = loadImage(i+".png"); //for迴圈讀入圖片檔
  for(int i=0;i<100;i++){
    eggX[i]=random(100,700);
    eggY[i]=-random(2000);
    EggsDie[i]=false;
  }
}
int score=0;
void draw(){
  background(255);
  fill(96,48,0);
  rect(mouseX-50,mouseY-25,100,50);
  fill(255,255,128);
  for(int i=0;i<100;i++){
    if(EggsDie[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){
      EggsDie[i]=true;
      score+=100;//接到一顆+100
    }
  }
  //fill(255,0,0); textSize(80); text("Score:"+score,100,100); 
  int now=score;
  for(int i=0;i<7;i++){ //分數計算
    image(imgN[(now%10)],400-i*100,100,50,100);
    now/=10;
  }
}


水果忍者遊戲

程式碼:

PImage []img=new PImage[8];//8 張水果的照片
float []orangeX=new float[8];
float []orangeY=new float[8];
float []orangeVX=new float[8];
float []orangeVY=new float[8];
void orangeReborn(int i){
  orangeX[i]= random(800);
  orangeY[i]= 700;
  orangeVX[i]=random(8)-4;
  orangeVY[i]= -40;
}
void setup(){
  size(800,600);
  for(int i=0;i<8;i++) img[i]=loadImage("Orange.png"); 
  for(int i=0;i<8;i++) orangeReborn(i); //重新生長
  for(int i=0;i<10;i++) sword[i]=new PVector();
}
PVector [] sword = new PVector[10];
void draw(){
  background(255);
  for(int i=0;i<8;i++){ 
    image(img[i],orangeX[i],orangeY[i],150,150);
    orangeX[i] += orangeVX[i];
    orangeY[i] += orangeVY[i];
    orangeVY[i] +=0.98;
  }
  for(int i=9;i>0;i--){
    sword[i].x=sword[i-1].x; sword[i].y=sword[i-1].y;
  }
  sword[0].x=mouseX; sword[0].y=mouseY;
  for(int i=1;i<10;i++){ //畫出線來當刀子
    line(sword[i].x,sword[i].y,sword[i-1].x,sword[i-1].y);
  }
}


2018年9月20日 星期四

Week02 李宜謙

畫圖畫起來


一開始試著去做圖中的 Brushes 的效果

今天有新學到ellipe()可以畫圓,並設定 mouseX,mouseY 讓他移動,後面的R為半徑

達成漸層效果



fill()、colorMode() 把色彩弄起來

有發現 HSB 數值可以調整顏色


最後畫出 Open Processing 網站上的作品



讀檔當機效果
程式碼:
PImage img;void setup(){
  size(1280,720);
  img=loadImage(monkey.jpg"); ///讀圖檔
}
void draw(){
  image(img,mouseX,mouseY,230,150);
}