期末作品
import ddf.minim.*;
Minim minim;
AudioPlayer player;
PImage imgbackground;
import processing.serial.*; //!!!!!!!!!!!!!!!!
Serial serial; //!!!!!!!!!!!!!!!!
int []drumColor = new int [93];
int []drumX = new int[93];
int score =0;
int x=600;
void setup() {
serial = new Serial(this, "COM3", 9600); //!!!!!!!!!!!!!!!!
size(600, 400);
imgbackground = loadImage("background.png");
for (int i=0;i<93;i++) {
drumColor[i]=int(random(2));
drumX[i]=600+i*100;
}
minim = new Minim(this);
player = minim.loadFile("m.mp3");
player.play();
}
void draw() {
char c=' '; //!!!!!!!!!!!!!!!!
if (serial.available()>0) { //!!!!!!!!!!!!!!!!
c = (char)serial.read(); //!!!!!!!!!!!!!!!!
print(c);
}
//image(imgbackground, 0, 0);
background(imgbackground);
fill(255);
ellipse(135, 137.5, 38, 38);
for (int i=0;i<93;i++) {
if (drumX[i]-135<30 && drumX[i]-135>-30) {
if (c == 'a' && drumColor[i]==0) { //!!!!!!!!!!!!!!!!
score++;
println("分數:"+score);
}
else if (c == 'b' && drumColor[i]==1) { //!!!!!!!!!!!!!!!!
score++;
println("分數:"+score);
}
fill(0, 255, 0);
ellipse(drumX[i], 137.5, 36, 36);
drumX[i]-=2;
}
else if (drumColor[i]==0) {
fill(255, 0, 0);
ellipse(drumX[i], 137.5, 36, 36);
drumX[i]-=2;
}
else if (drumColor[i]==1) {
fill(0, 0, 255);
ellipse(drumX[i], 137.5, 36, 36);
drumX[i]-=2;
}
}
fill(0);
textFont(createFont("calibri", 40));
textSize(30);
text("score : "+score, 230, 300);
}
int switchStateRed = 0;
int switchStateBlue = 0;
void setup(){
pinMode(2, INPUT);
pinMode(3, INPUT);
Serial.begin(9600);
}
int a=0,b=0;
void loop(){
switchStateRed = digitalRead(2);
switchStateBlue = digitalRead(3);
if(switchStateRed == LOW) a=0;
if(switchStateRed == HIGH && a==0) {Serial.write('a'); a=1;}
if(switchStateBlue == LOW) b=0;
if(switchStateBlue == HIGH && b==0) {Serial.write('b'); b=1;}
}
沒有留言:
張貼留言