顯示具有 00161002林佳芳 標籤的文章。 顯示所有文章
顯示具有 00161002林佳芳 標籤的文章。 顯示所有文章

2013年12月8日 星期日

week14 期末作品企劃

大型音樂遊戲
投錢
興趣
自製
類似Morzarc &MuziBox

目前想法

預計4~6顆按鍵
上面撥放音樂影片

預想的遊戲畫面
PS.上面播放遊戲使用之音樂的影片

亦或是乾脆做出一台MuziBox


學長Talk
研發替代役?
大學研究所薪水差3000?
念研究所不太划算?
排除課業
有時間陪家人






待修=~=


補上MoziBox遊戲畫面


相關說明: http://home.gamer.com.tw/creationDetail.php?sn=1609300

2013年12月1日 星期日

week13 林佳芳 課堂練習

Project 05

#include <Servo.h>

Servo myServo;

int const potPin=A0;
int potVal;
int angle;
void setup(){
  myServo.attach(9);

  Serial.begin(9600);
}

void loop(){
  potVal=analogRead(potPin);
  Serial.print("potVal:");
  Serial.print(potVal);

  angle=map(potVal,0,1023,0,179);
  Serial.print("angle:");
  Serial.println(angle);

  myServo.write(angle);
  delay(15);
}



影片





Project 06

int sensorValue;
int sensorLow=1023;
int sensorHigh=0;

const int ledPin=13;

void setup(){
  pinMode(ledPin,OUTPUT);
  digitalWrite(ledPin,HIGH);
  while(millis()<5000){
    sensorValue=analogRead(A0);
    if(sensorValue>sensorHigh){
      sensorHigh=sensorValue;
    }
    if(sensorValue<sensorLow){
      sensorLow=sensorValue;
    }
  }
  digitalWrite(ledPin,LOW);
}

void loop(){
  sensorValue=analogRead(A0);
  int pitch=map(sensorValue,sensorLow,sensorHigh,50,4000);
  tone(8,pitch,20);
  delay(10);
}

影片



Project 07
int buttons[6]={2};
//buttons[0]={2};

int notes[]={
  262,294,330,349};

void setup(){
  Serial.begin(9600);
}

void loop(){
  int keyVal=analogRead(A0);
  Serial.println(keyVal);
  if(keyVal==1023){
    tone(8,notes[0]);
  }
  else if(keyVal>=990&& keyVal<=1010){
    tone(8,notes[1]);
  }
  else if(keyVal>=505&&keyVal<=515){
    tone(8,notes[2]);
  }
  else if(keyVal>=5&&keyVal<=10){
    tone(8,notes[3]);
  }
  else{
    noTone(8);
  }
}


影片






2013年11月24日 星期日

Week12上課內容 林佳芳

1.溫度感應
基礎溫度設25度
27左右則亮兩個
30度左右三顆LED亮
程式碼:

const int sensorPin =A0;
const float baselineTemp=25.0;

void setup(){
  Serial.begin(9600);
  for(int pinNumber=2;pinNumber<5;pinNumber++){
    pinMode(pinNumber,OUTPUT);
    digitalWrite(pinNumber,LOW);
  }
}

void loop(){
  int sensorVal=analogRead(sensorPin);
  Serial.print("Sensor Value:");
  Serial.print(sensorVal);

  float voltage=(sensorVal/1024.0)*5.0;
  Serial.print(",Volts:");
  Serial.print(voltage);

  Serial.print(",degrees C:");
  float temperature=(voltage-.5)*100;
  Serial.println(temperature);

  if(temperature<baselineTemp){
    digitalWrite(2,LOW);
    digitalWrite(3,LOW);
    digitalWrite(4,LOW);
  }
  else if(temperature>=baselineTemp+2&& temperature<baselineTemp+4){
      digitalWrite(2,HIGH);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
  }
   else if(temperature>=baselineTemp+4&& temperature<baselineTemp+6){
      digitalWrite(2,HIGH);
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
  }
   else if(temperature>=baselineTemp+6){
      digitalWrite(2,HIGH);
      digitalWrite(3,HIGH);
      digitalWrite(4,HIGH);
  }
  delay(1);
}

影片



2.Color Mixing Lamp

const int greenLEDPin=9;
const int redLEDPin=11;
const int blueLEDPin=10;

const int redSensorPin=A0;
const int greenSensorPin=A1;
const int blueSensorPin=A2;

int redValue=0;
int greenValue=0;
int blueValue=0;

int redSensorValue=0;
int greenSensorValue=0;
int blueSensorValue=0;

void setup(){
  Serial.begin(9600);

  pinMode(greenLEDPin,OUTPUT);
  pinMode(redLEDPin,OUTPUT);
  pinMode(blueLEDPin,OUTPUT);
}

void loop(){
  redSensorValue=analogRead(redSensorPin);
  delay(5);
  greenSensorValue=analogRead(greenSensorPin);
  delay(5);
  blueSensorValue=analogRead(blueSensorPin);

  Serial.print("Raw Sensor Value \t Red");
  Serial.print(redSensorValue);
  Serial.print("\t Green");
  Serial.print(greenSensorValue);
  Serial.print("\t Blue");
  Serial.print(blueSensorValue);

  redValue=redSensorValue/4;
  greenValue=greenSensorValue/4;
  blueValue=blueSensorValue/4;

  Serial.print("Mapped Sensor Value \t Red");
  Serial.print(redValue);
  Serial.print("\t Green");
  Serial.print(greenValue);
  Serial.print("\t Blue");
  Serial.print(blueValue);

  analogWrite(redLEDPin,redValue);
  analogWrite(greenLEDPin,greenValue);
  analogWrite(blueLEDPin,blueValue);
}


影片



3.*測試顏色

void setup(){
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}

void loop(){
  int r=0,g=255,b=0;
  analogWrite(10,r);
  analogWrite(9,g);
  analogWrite(11,b);
}

影片

2013年11月17日 星期日

week11 林佳芳

(O) 0. 發 Arduino Starter Kit、Arduino Mega2560、Arduino Project Book, 每個人手上都有一個板子

(O) 1. 練習第一個範例 File-Examples-Basic-Blink


void setup(){
  pinMode(13,OUTPUT);
}
void loop(){
digitalWrite(13,HIGH);//HIGH亮
delay(200);//亮0.2秒
digitalWrite(13,LOW);//LOW暗
delay(200);//暗0.2秒

digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(200);
}

(O)2. 修改程式,變成展得比較特別的作法


3.
void setup(){
  pinMode(13,OUTPUT);
  pinMode(11,OUTPUT);
  pinMode(2,OUTPUT);
}
void loop(){
digitalWrite(13,HIGH);//HIGH亮
delay(500);//亮0.2秒
digitalWrite(13,LOW);//HIGH亮
delay(100);//亮0.2秒

digitalWrite(11,HIGH);//LOW暗
delay(200);//暗0.2秒
digitalWrite(11,LOW);//LOW暗
delay(100);//暗0.2秒

digitalWrite(2,HIGH);
delay(500);
digitalWrite(2,LOW);
delay(100);

digitalWrite(13,HIGH);//HIGH亮
delay(100);//亮0.2秒
digitalWrite(13,LOW);//HIGH亮
delay(100);//亮0.2秒

digitalWrite(2,HIGH);
delay(300);
digitalWrite(2,LOW);
delay(100);
digitalWrite(13,HIGH);//HIGH亮
delay(300);//亮0.2秒
digitalWrite(13,LOW);//HIGH亮
delay(100);//亮0.2秒
digitalWrite(2,HIGH);//HIGH亮
delay(300);//亮0.2秒
digitalWrite(2,LOW);//HIGH亮
delay(100);//亮0.2秒

digitalWrite(13,HIGH);//HIGH亮
digitalWrite(11,HIGH);//LOW暗
digitalWrite(2,HIGH);
delay(200);

digitalWrite(13,LOW);//HIGH亮
digitalWrite(11,LOW);//LOW暗
digitalWrite(2,LOW);
delay(200);


}



影片:



2013年11月11日 星期一

Week10 林佳芳 期中作品展示




在畫面中央時間結束前
利用滑鼠點擊製造出多顆氣球
時間停止時則會顯示氣球總數

說是氣球...但總覺得比較像泡泡?

Week 08 林佳芳

期中作品題目改變

2013年10月20日 星期日

Week 07 林佳芳

1. 請列出你今天三個小時,要完成的事
把上禮拜做的基本程式加入
1.障礙物掉落
2.發射子彈
3.判斷碰撞部分
Total:把期中作品進度往前一部份

2. 你在期中作品要做到什麼程度
橫軸射擊遊戲,主角搭乘熱氣球在空中,需攻擊或躲避障礙物,利用滑鼠移動,點擊可射擊到達目的地即可過關。

3. Why? 你為什麼要做它

以前玩過一個遊戲"奇幻仙境",在冒險途中會遇到樂園,樂園裡面有小遊戲,是個2D橫軸射擊遊戲,在時間內主角坐著飛船躲避障礙物,或是利用螺旋槳發射攻擊取得高分,想做出一個類似射擊遊戲。

2013年10月6日 星期日

2013年9月29日 星期日

Week04 林佳芳


課堂作業: (1) 做出你的小畫家,做得越好,分數越高 (老師沒有教到的功能你去找出來,分數更高)





課堂作業: (2) 目前的心得,請分享 (不要講太難)
做出來小畫家,雖然目前還在思考油漆桶要怎麼寫,但自己寫出一個以前電腦常配備的程式感覺很新奇




2013年9月22日 星期日

Week03 林佳芳

1. 今天目標: 畫出一個五子棋
1.1. 使用 Tool- Color Selector, 挑出你要的顏色, 可用 R,G,B 來描述,也可用 #0B33FF 之類的像亂碼的數字來設定顏色
1.2. 要畫外框,可以用 rect()來畫, 要修改填充的顏色可以用fill(), 要讓畫的內部不要填充, 可以查看 Help-Reference 後,在 fill()樓上樓下相關的地方找到你要的功能 (ex. noFill() )
1.3. 使用 stroke() 來調畫線stroke的顏色, 在 Help-Reference 裡面可以找 stroke 相關的功能,像是比較粗的 stroke 可以用 strokeWeight() 來設定權重粗細


2013年9月15日 星期日

Week02 林佳芳

[課堂作業1]

1. Processing 啟動
2. 試 for迴圈
























[課堂作業2]
【Help->Reference】
加入
三角形triangle(x+20, y+30, x+80, y+30,x+50,y+90);
橢圓形ellipse(x+50 , y+50, 30, 30);


[課堂作業3]

填入顏色


 依照滑鼠改透明質












random()亂數!!會隨機變顏色(一直變動)















BUT很傷眼睛
所以訂定一個值
每次開啟顏色都會不同


























[課堂作業4] 請大家寫一下到現在的心得 (ex. 速度, 內容, 想學的東西, 期待、希望、夢想..)

速度還OK,上課有趣,期待後面的課程!
希望程式碼能講解的更加詳細一些!
然後個人滿喜歡聽八卦的(๑•̀ㅂ•́)و✧ 

2013年9月8日 星期日

Week01 林佳芳

0. 課程準備
0.1. 加入 課程FB社團
0.2. Google文件 填寫修課資料 (學號姓名,email,電話)
0.3. 加入 Blog, 設定

*編交作業方式: 
tag: 000葉正聖老師, Week01, 00160011葉大明
(逗號隔開, 學號姓名間不要有空格)

1. 看一下去年學長姐們做的成果 (划船、吃角子老虎、數位手套、直昇機控制搖桿), 聖誔老公公下樓梯
2. 試著執行 Processing

size(600,600);//設定視窗大小
background(255,0,0);//背景色
rect(100,100,200,200);//在視窗100,100的位置畫200*200的四邊形



老師做的 Angry Birds Brick
http://www.cmlab.csie.ntu.edu.tw/~jsyeh/processing/angryBirdsBrick/

size(600,600);//設定視窗大小
background(255,0,0);//背景色
rect(100,100,200,200);//在視窗100,100的位置畫200*200的四邊形
PImage imgBird=loadImage("http://www.cmlab.csie.ntu.edu.tw/~jsyeh/processing/angryBirdsBrick/bird.png");//載入圖片
PImage imgPig =loadImage("http://www.cmlab.csie.ntu.edu.tw/~jsyeh/processing/angryBirdsBrick/pig.gif");
//載入圖片
image(imgBird,0,0);//圖片放置視窗內 (變數,x,y,長,寬)
image(imgPig,200,200,100,100);//圖片放置視窗內 (變數,x,y,長,寬)


3.第三節課的範例
*Edit>Auto Format 自動排版(快速鍵:Ctrl+T)

PImage imgBird, imgPig; //宣告

void setup() {//設定函式
  size(600, 600);//設定視窗大小
  imgBird=loadImage("http://www.cmlab.csie.ntu.edu.tw/~jsyeh/processing/angryBirdsBrick/bird.png");//載入圖片
  imgPig =loadImage("http://www.cmlab.csie.ntu.edu.tw/~jsyeh/processing/angryBirdsBrick/pig.gif");//載入圖片
  imageMode(CENTER);//將滑鼠置中在圖片上
}

void draw() {
  background(255, 0, 0);//背景可清除圖片殘影
  image(imgBird, mouseX, mouseY);//圖片位置跟著滑鼠 *圖A程式碼寫在前面,則會被圖B覆蓋住
  image(imgPig, 200, 200, 100, 100);//圖片放置視窗內 函式(變數,x,y,長,寬)
}




Cousera線上Processing教學(英):https://class.coursera.org/digitalmedia-001/lecture/index