顯示具有 00160343江昱德 標籤的文章。 顯示所有文章
顯示具有 00160343江昱德 標籤的文章。 顯示所有文章

2014年1月12日 星期日

期末作業

Processing 程式碼如下 :

import processing.serial.*;
Serial serial;
int val;
float [] X=new float [10], Y= new float[10];
PImage plane;
PImage sky;
PImage moster,row,row2,row3,row4;
int count=0;
int score=0;
int n=(int)random(5);
void setup()
{
  background(255,255,255);
  size(600,400);
  serial=new Serial(this,"COM3",9600);
  plane=loadImage("plane.gif");
  moster=loadImage("moster.jpg");
  sky=loadImage("sky.jpg");
  row = loadImage("1.png");
 for(int i=0;i<10;i++){
   newb(i);
   drawbanana(i);
  }
}
void keyPressed(){
  /*if(keyCode==UP)  now+=10;
      if(keyCode==DOWN) now-=10;
      if(keyCode==LEFT) no+=10;
      if(keyCode==RIGHT) no-=10;
   
      if(keyCode==32)
      {
        if((X[0]+no)>250 && (X[0]+no)<350 && (Y[0]+now)<250 && (Y[0]+now)>150) {
               print("哈哈哈");
               score+=10;
               print(score);
                 X[0]=random(200)+200;
                 Y[0]=random(400);
          }
     }*/
   
}
int now=0;
int no=0;

void draw()
{
  if(serial.available()>0){
   int val=serial.read();
   if(val=='1')  now+=10;
      if(val=='2') now-=10;
      if(val=='3') no+=10;
      if(val=='4') no-=10;
   
      if(val=='5')
      {
        if((X[0]+no)>250 && (X[0]+no)<350 && (Y[0]+now)<250 && (Y[0]+now)>150) {
               print("哈哈哈");
               score+=10;
               print(score);
                 X[0]=random(200)+200;
                 Y[0]=random(400);
          }
     }
   print(val);
  }
  background(255);
  int m=millis();
  int p=(60000-m)/1000;
  if(m<60000){
        background(255);
         for(int i=0;i<n+1;i++){
          drawbanana(i);
          if(count%1000==0){
            newb(i);
            n=(int)random(1);
          }
        //image(moster,300+no,200+now,50,80);
        image(plane,300,200,600,400);
        fill(255,0,0);
        text("Score:"+score,10,30,100,100);
        textSize(20);
        imageMode(CENTER);
     
     // if(dist(300,200,X[0],Y[0]) - dist(300,200,X[100],Y[100])) image(row,200,200,50,50);
}
 count++;
 text("TIME:"+p,500,30,100,100);
 println(n);
}
 else{
    background(255);
    fill(255,0,0);
    text("Score:"+score, 200,150,400,100);
    textSize(40);
    text("TIME  UP", 200, 200 ,200,500);
 }
}
void drawbanana(int i){
  image(sky,X[i]+no, Y[i]+now, 3600, 3400);
  image(moster,X[i]+no, Y[i]+now, 50, 80);
}
void newb(int i){
  X[i]=random(200)+200;
  Y[i]=random(400);
}





2013年12月23日 星期一

Week 16 作業

float [] X=new float [10], Y= new float[10];
PImage plane;
PImage sky;
PImage moster,row,row2,row3,row4;
int  count=0;
int n=(int)random(5);
void setup()
{
  background(255,255,255);
  size(600,400);
  plane=loadImage("plane.gif");
  moster=loadImage("moster.jpg");
  sky=loadImage("sky.jpg");
  row = loadImage("1.png");
 for(int i=0;i<10;i++){
   newb(i);
   drawbanana(i);
  }
}
int now=0;
int no=0;
void draw()
{
    background(255);
    imageMode(CENTER);
    //image(moster,300+no,200+now,50,80);
    for(int i=0;i<n+1;i++){
      drawbanana(i);
      if(count%1000==0){
        newb(i);
        n=(int)random(1);
      }
      image(plane,300,200,600,400);
      if ((dist(300,200,X[0],Y[0]) - ) image(row,200,200,50,50);
}
 count++;
 println(n);
}
void drawbanana(int i){
  image(sky,X[i]+no, Y[i]+now, 3600, 3400);
  image(moster,X[i]+no, Y[i]+now, 50, 80);
}
void newb(int i){
  X[i]=random(200)+200;
  Y[i]=random(400);
}
void keyPressed(){
      if(keyCode==UP) now+=10;
      if(keyCode==DOWN) now-=10;
      if(keyCode==LEFT) no+=10;
      if(keyCode==RIGHT) no-=10;
     
      if(keyCode==32)
      {
        if((X[0]+no)>250 && (X[0]+no)<350 && (Y[0]+now)<250 && (Y[0]+now)>150) {
               print("哈哈哈");
                 X[0]=random(200)+200;
                 Y[0]=random(400);
          }
     }
}

2013年12月16日 星期一

第15週作業

float X[],Y[];
PImage plane;
PImage moster;
void setup()
{
  background(255,255,255);
  size(600,400);
  plane=loadImage("plane.gif");
  moster=loadImage("moster.jpg");

}
int now=0;
int no=0;
void draw()
{
    background(255);
    image(moster,300+no,200+now,50,80);
    image(plane,0,0,600,400);
}
void keyPressed(){
      if(keyCode==UP) now+=10;
      if(keyCode==DOWN) now-=10;
      if(keyCode==LEFT) no+=10;
      if(keyCode==RIGHT) no-=10;
       for(int i=0;i<5;i++){
      if(moster<300 && moster>200 && moster>300 && moster<200) {      
       if(keyCode==32) now-=20;
      image(moster,X[i], Y[i], 60, 60);
           
     
    }
   }
}

2013年12月1日 星期日

Week13 作業

1. MOOD CUE :
#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); }


2. LIGHT THEREMIN :
int sensorValue; int sensorLow = 1023; int sensorHigh = 0; const int ledPin = 13; void setup() { // put your setup code here, to run once: 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() { // put your main code here, to run repeatedly: sensorValue = analogRead(A0); int pitch = map(sensorValue,sensorLow,sensorHigh, 50,4000); tone(8,pitch,20); delay(10); }


3. KEYBOARD INSTRUMENT :
int buttons[6]; int 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 作業

12-1 感溫度

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

12-2 感光


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 Values \t red: "); Serial.print(redSensorValue); Serial.print("\t green: "); Serial.print(greenSensorValue); Serial.print("\t Blue: "); Serial.println(blueSensorValue); redValue=redSensorValue/4; greenValue=greenSensorValue/4; blueValue=blueSensorValue/4; Serial.print("Mapped sensor Values \t red: "); Serial.print(redValue); Serial.print("\t green: "); Serial.print(greenValue); Serial.print("\t Blue: "); Serial.println(blueValue); analogWrite(redLEDPin, redValue); analogWrite(greenLEDPin, greenValue); analogWrite(blueLEDPin, blueValue); }

Week11 作業

2013年10月20日 星期日

Week 07

1.今天的目標 : 要把射擊中的消失掉
2.期中程度 : 要做出一款射擊遊戲 總共有3種怪物 射死一隻會加分 分數到一定的程度  會出現另一種的怪物 總共3種 最後達到5000分可破關
3.可以利用到老師上課所教的程式,熟悉程式,寫程式的想法
float [] X=new float [10], Y= new float[10];

PImage Crosshair;
PImage banana;
void setup(){
  size(600,400);
  Crosshair=loadImage("http://bbs.mychat.to/attach/Fid_687/687_810281.jpg");
  banana=loadImage("http://files.gamebanana.com/img/ico/sprays/mr_banana_257.png");
  for(int i=0;i<10;i++){
    newb(i);    
  }
}
void draw(){
  background(255);
  imageMode(CENTER);
  image(Crosshair,mouseX,mouseY,100,100);
  for(int i=0;i<10;i++){
    drawbanana(i);
    if() newb(i);
  }
}
void drawbanana(int i){
  image(banana,X[i], Y[i], 50, 50);    
}

void newb(int i){
  X[i]=random(600);
  Y[i]=random(400);
}

2013年10月6日 星期日

Week05 江昱德





2.思考決定期中作品
想寫一個益智遊戲,破關那種的,一個球想辦法弄到洞裡,洞的位置都不一樣





2013年9月15日 星期日

Week02江昱德

1.開啟PROCESSIING
2.練習FOR迴圈

3.
4.
5.
6.
7.心得
老師教得很清楚,我也都有學到老師所教的東西,沒有特別的夢想與希望,就是希望自己能把這堂課的東西學好,學以致用。




2013年9月8日 星期日

江昱德的第一周作業

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

*編交作業方式: 
tag: 000葉正聖老師, Week01, 00160011葉大明
(逗號隔開, 學號姓名間不要有空格)
1. 使用Processing寫出第一個程式
2.