https://www.youtube.com/watch?v=ssuSdIlRVxs&feature=youtu.be
2015年1月18日 星期日
2015年1月12日 星期一
期末作品
小朋友過馬路
processing:
import processing.serial.*;
Serial myPort;
int savetime=20;//time
PImage people, amb, imgBG;
PImage car[]=new PImage[8];
float pX=300, pY=366;
void setup() {
size(600, 400);
frameRate(50);
myPort = new Serial(this, "COM4", 9600);
imgBG = loadImage("bg.png");
people = loadImage("super.png");//people
amb = loadImage("amb.png");//ambullance
for (int i=0;i<8;i++) {
car[i]=loadImage("car"+i+".png");
}
}
float carX[]= { 600, 0, 600, 600, 0, 0, 600, 0};//direction
float carVX[]= { -8, 4, -4, -5, 9, 5, -7, 6};//speed
int but;//button
void draw() {
background(imgBG);
image(people, pX, pY, 25, 35);
if (myPort.available()>0)
{
but = myPort.read();
}
textSize(24);//time
int passtime = millis() - savetime;
int gametime = 20-passtime/1000;
textSize(24);
text("T I M E : "+gametime, 400, 50);
for (int i=0;i<8;i++) { //car
image(car[i], carX[i], 85+i*35, 50, 35);
carX[i]+=carVX[i];
if (carX[i]>600) carX[i]=0;
if (carX[i]<0) carX[i]=+600;
}
for (int i=0;i<8;i++) {
if(dist(carX[i],85+i*35,pX,pY)<=20){
carX[i] = pX;
rect(150,100,300,200);
fill(255,255,0);
textSize(30);
text(" L O S E ",250,200);
fill(255,0,0);
}
}
//people
if (but == 'U'&& pY>50) pY-=5;//up
if (but == 'D'&& pY<365) pY+=5;//down
if (but == 'L'&& pX>15) pX-=5;//left
if (but == 'R'&& pX<565) pX+=5;//right
if( gametime <= 0 ){
//rect(150,100,300,200);
//fill(255,255,255);
background(#81FF7C);
textSize(30);
text(" T I M E I S U P ",170,200);
fill(255,0,0);
}
if(pY>35 && pY<50) {
//rect(150,100,300,200);
//fill(255,255,255);
background(#81FF7C);
textSize(30);
text(" W I N ",250,200);
fill(255,0,0);
}
}
arduino:
void setup(){
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
}
int up=0,down=0,left=0,right=0;
void loop(){
if(up==0 && digitalRead(2)==LOW){//pressed
Serial.write('u'); up=1;
}
if(up==1 && digitalRead(2)==HIGH){//not pressed
Serial.write('U'); up=0;
}
if(down==0 && digitalRead(3)==LOW){//pressed
Serial.write('d'); down=1;
}
if(down==1 && digitalRead(3)==HIGH){//not pressed
Serial.write('D'); down=0;
}
if(left==0 && digitalRead(4)==LOW){//pressed
Serial.write('l'); left=1;
}
if(left==1 && digitalRead(4)==HIGH){//not pressed
Serial.write('L'); left=0;
}
if(right==0 && digitalRead(5)==LOW){//pressed
Serial.write('r'); right=1;
}
if(right==1 && digitalRead(5)==HIGH){//not pressed
Serial.write('R'); right=0;
}
delay(10);//to avoid noise while pressing
}
2014年12月29日 星期一
第十六周課堂作業
arduino
int switchStatea = 0;
int switchStateb = 0;
int switchStatec = 0;
int switchStated = 0;
const int ledPin = 13;
void setup(){
pinMode(ledPin, OUTPUT);
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
Serial.begin(9600);
}
void loop(){
switchStatea = digitalRead(A0);
switchStateb = digitalRead(A1);
switchStatec = digitalRead(A2);
switchStated = digitalRead(A3);
if(switchStatea == HIGH) {Serial.print('1');}
if(switchStateb == HIGH) {Serial.print('2');}
if(switchStatec == HIGH) {Serial.print('3');}
if(switchStated == HIGH) {Serial.print('4');}
delay(33);
}
2014年12月22日 星期一
2014年12月15日 星期一
第十四周課堂作業
void setup(){
pinMode(13,OUTPUT);
}
void loop(){
int value = analogRead(A0);
digitalWrite(13, HIGH);
delay(value);
digitalWrite(13, LOW);
delay(value);
}
pinMode(13,OUTPUT);
}
void loop(){
int value = analogRead(A0);
digitalWrite(13, HIGH);
delay(value);
digitalWrite(13, LOW);
delay(value);
}
旋鈕控制方塊左右移動
void setup(){
Serial.begin(9600);
}
void loop(){
int value = analogRead(A0);
Serial.write(value/4);
delay(20);
}
import processing.serial.*;
Serial myPort;
void setup(){
size(255+80,200);
myPort=new Serial(this,"COM3",9600);
}
int posX=0;
void draw(){
background(255);
fill(#071DDE); rect(posX,0,80,200);
if(myPort.available()>0){
posX=myPort.read();
println(posX);
}
}
2014年12月8日 星期一
第十三周課堂作業
範例程式碼
老師程式碼
1.int→轉換值
2.char→打123顯示123
按按鈕顯示"I LOVE YOU"
按按鈕顯示"I LOVE YOU"
不按按鈕顯示"I DON'T LOVE YOU"
/
2014年12月1日 星期一
第十二周課堂作業
Button
按鈕控制LED
toneMelody
音樂製作 - 小星星
int melody[] = {
NOTE_C3, NOTE_C3,NOTE_G3, NOTE_G3, NOTE_A3, NOTE_A3, NOTE_G3,
NOTE_F3, NOTE_F3, NOTE_E3, NOTE_E3, NOTE_D3, NOTE_D3, NOTE_C3 };
int noteDurations[] = { 4,4,4,4,4,4,2,4,4,4,4,4,4,2};
int melody[] = {
NOTE_C3, NOTE_C3,NOTE_G3, NOTE_G3, NOTE_A3, NOTE_A3, NOTE_G3,
NOTE_F3, NOTE_F3, NOTE_E3, NOTE_E3, NOTE_D3, NOTE_D3, NOTE_C3,
NOTE_G3, NOTE_G3, NOTE_F3, NOTE_F3, NOTE_E3, NOTE_E3, NOTE_D3,
NOTE_G3, NOTE_G3, NOTE_F3, NOTE_F3, NOTE_E3, NOTE_E3, NOTE_D3,
NOTE_C3, NOTE_C3,NOTE_G3, NOTE_G3, NOTE_A3, NOTE_A3, NOTE_G3,
NOTE_F3, NOTE_F3, NOTE_E3, NOTE_E3, NOTE_D3, NOTE_D3, NOTE_C3};
int noteDurations[] = {
4,4,4,4,4,4,2, 4,4,4,4,4,4,2, 4,4,4,4,4,4,2, 4,4,4,4,4,4,2, 4,4,4,4,4,4,2, 4,4,4,4,4,4,2};
音樂製作 - 聖誕鈴聲
int melody[] = {
NOTE_E3, NOTE_E3,NOTE_E3,
NOTE_E3, NOTE_E3, NOTE_E3,
NOTE_E3, NOTE_G3, NOTE_C3, NOTE_D3, NOTE_E3,
NOTE_F3, NOTE_F3, NOTE_F3,
NOTE_F3, NOTE_E3, NOTE_E3, NOTE_E3,
NOTE_E3, NOTE_D3, NOTE_D3, NOTE_E3, NOTE_D3, NOTE_G3 };
// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
4,4,2, 4,4,2, 4,4,4,4,2, 4,4,2, 4,4,4,4, 4,4,4,4,2,2};
簡易版開關
按鈕控制聲音播放
按鈕按下去關聲音
按鈕按下去播聲音
void setup(){
pinMode(2,INPUT_PULLUP);
pinMode(13,OUTPUT);
}
void loop(){
if(digitalRead(2)==HIGH){
digitalWrite(13,HIGH);
noTone(8);
}
else{
digitalWrite(13,LOW);
tone(8,440);
}
}
2014年11月24日 星期一
2014年10月27日 星期一
2014年10月20日 星期一
2014年10月13日 星期一
2014年10月6日 星期一
2014年9月29日 星期一
第三週課堂作業
貼圖
跟著滑鼠跑的奇奇蒂蒂
貼圖背景
加入音檔
滑鼠按下有鳥叫聲
發射蛋攻擊小鳥
PImage img,imgBG;
import ddf.minim.*;
Minim minim;
AudioPlayer bird;
float eggX=750, eggY=550, eggVX, eggVY, flying=0;
void setup(){
size(800,600,P3D);
minim = new Minim(this);
bird= minim.loadFile("bird.wav");
img= loadImage("bird.png");
imgBG= loadImage("tree.jpg");
imgBG.resize(800,600);
imageMode(CENTER);
}
void draw(){
background(imgBG);
image(img,mouseX,mouseY,100,100);
if(flying>0){
ellipse(eggX,eggY,50,50);
eggX+=eggVX;
eggY+=eggVY;
flying--;
}
}
void mousePressed(){
eggX=750; eggY=550; flying=30;
eggVX=(mouseX-eggX)/30;
eggVY=(mouseY-eggY)/30;
bird.rewind();
bird.play();
}
2014年9月22日 星期一
2014年9月15日 星期一
訂閱:
文章 (Atom)







































