2023年10月19日 星期四

情況開始失控了,已經...沒時間了 week06

WEEK06


Step01


hello world

size(500,500);
textSize(64);
text("Hello World",100,100);







鍵盤的input(全)

void setup(){
  size(500,500);
  textSize(64);
}
String line = "Input: ";
void draw(){
  text(line,100,100);
}
void keyPressed(){
  line += key;
}



鍵盤的input(只有英文)

void setup(){
  size(500,500);
  textSize(64);
}
String line = "Input: ";
void draw(){
  text(line,100,100);
}
void keyPressed(){
  if(key>='A'&&key<='Z') line +=key;
    if(key>='a'&&key<='z') line +=key;

}


可以刪除多餘的字母

void setup(){
  size(800,400);
  textSize(64);
}
String line = "";
void draw(){
  background(0);
  text("Input: "+line,50,100);
}
void keyPressed(){
  if(key>='A'&&key<='Z') line +=key;
    if(key>='a'&&key<='z') line +=key;
  if(key==BACKSPACE && line.length()>0){
    line = line.substring(0,line.length()-1);
  }
}




Step02



用SoundFile播出聲音


import processing.sound.*;
SoundFile file;
void setup(){
  size(300,300);
  file = new SoundFile(this,"a.mp3");
  file.play();
  }
  void draw(){
    
  }








用按鍵控制SoundFile播出聲音



import processing.sound.*;
SoundFile dadada,good,over;
void setup(){
  size(300,300);
  dadada =new SoundFile(this,"dadadadada.mp3");
  good = new SoundFile(this,"good.mp3");
  over = new SoundFile(this,"over.mp3");
    }
  void draw(){
  text("press 1,2,3",100,100);
  
  }
  void keyPressed(){
    if(key=='1') dadada.play();
    if(key=='2') good.play();
    if(key=='3')over.play();
  }





讓打字也出現聲音


import processing.sound.*;
SoundFile da,dingdong,ouch;
void setup(){
  size(800,400);
  textSize(64);
  da =new SoundFile(this,"da.mp3");
  dingdong = new SoundFile(this,"dingdong.mp3");
  ouch = new SoundFile(this,"ouch.mp3");
    }
    String line = "";
void draw(){
  background(0);
  text("Input: "+line,50,100);
}
void keyPressed(){
  if(key>='A'&&key<='Z'){ line +=key;da.play();}
    if(key>='a'&&key<='z'){ line +=key;da.play();}
  if(key==BACKSPACE && line.length()>0){
    line = line.substring(0,line.length()-1);
    ouch.play();
  }

  if(key==ENTER){
    dingdong.play();
  }
}






Step03




做出一個遊戲(一個文字要在時間內打完)



void setup(){
  size(400,600);
  textSize(20);
}
String Q="hello", A="";
float x=100,y=100;
void draw(){
  background(0);
  text(Q,x,y);

ellipse(200,550,20,20);
  float dx=(200-x),dy=(550-y),d=sqrt(dx*dx+dy*dy)*3;
  x +=dx/d;
  y +=dy/d;
  if(keyPressed){
    stroke(255,0,0);
    line(200,550,x,y);
}
}





打上相對應的字來上色



void setup(){
  size(400,600);
  textSize(20);
}
String Q="hello", A="";
float x=100,y=100;
void draw(){
  background(0);
  fill(#FFFFFF);text(Q,x,y);
  fill(#FF0000);text(A,x,y);

ellipse(200,550,20,20);
  float dx=(200-x),dy=(550-y),d=sqrt(dx*dx+dy*dy)*3;
  x +=dx/d;
  y +=dy/d;
  if(keyPressed){
    stroke(255,0,0);
    line(200,550,x,y);
}
}
void keyPressed(){
  int i= A.length();
  if(key ==Q.charAt(i)){
    A +=key;
  }
}



打對文字換下一個


void setup(){
  size(400,600);
  textSize(12);
  randomQ();
}
void randomQ(){
  int i=  int(random(QQ.length));
  Q  =  QQ[i];
  x=random(0,300);
  y=random(0,100);
}
String[]QQ={"void","set up","float","string","background","fill"};
String  Q="hello",A="";
float x=100,y=100;
void draw(){
  background(0);
  fill(#FFFFFF);  text(Q,x,y);
  fill(#FF0000);  text(A,x,y);
  ellipse(200,550,20,20);
  float dx=(200-x),dy=(550-y),d=sqrt(dx*dx+dy*dy)*3;
  x+=dx/d;
  y+=dy/d;
  if(keyPressed){
    stroke(255,0,0);
    line(200,500,x,y);
  }
}
void keyPressed(){
  int i=A.length();
  if(key==Q.charAt(i) ){
    A+=key;
    if(Q.equals(A)){
      randomQ();
      A="";
    }
  }
}
 







題目:貪食蛇



組員:曾豊凱,丁泳聖






 

沒有留言:

張貼留言