2023年10月19日 星期四

達yo - week06

 今天要做的是 打字遊戲

1.1文字大小、填顏色

印出Hello World在視窗裡,但字體太小


加上textSize(64)字體就會變大(括弧內的數字可以改變)

幫字上顏色

1.2打字

在視窗裡打出文字

當滑鼠按鍵按下去,就可以打字在input那邊
改成只打得出字母,按Enter、刪除...不會有作用
讓文字打了也可以被刪除

所以增加
if(key==BACKSPACE && line.length()>0){
    line = line.substring(0,line.length()-1);
  }

2.1音樂

加入音樂之前 要先安裝sound的函式庫

使用聲音函式

成功播放
file初始化


*要有void draw()這個函式
不然程式會認為已經結束 就不會播放音樂


按數字鍵1、2、3切換不同音樂


2.2打字會播出聲音



3.1 final打字

文字慢慢移動到白色小圓點時會停止移動





用鍵盤打出跟文字相符
文字顏色會變紅色

宣告一個陣列裡面放了7個新的英文字母
讓遊戲增加有趣度



執行畫面
程式碼:
void setup(){
  size(400,600);
  textSize(20);
  randomQ();
}
void randomQ(){
  int i = int(random(QQ.length));
  Q = QQ[i];
  x = random(100,300);//隨機出現的座標
  y = random(0,100);//隨機出現的座標
}
String [] QQ = {"void" , "setup" , "float" , "string" , "background" , "fill" , "break"};
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;
    if(Q.equals(A)){
      randomQ();
      A = "";
    }
  }
}

組員:曾郁芬
主題還沒想到


沒有留言:

張貼留言