2024年11月4日 星期一

Emily Week09

 ## week09_01_createFont_loadFont_textFont

size(500, 500);//大視窗
background(0);//黑色背景
textSize(50);
text("Hello", 50, 50);
PFont font = createFont("標楷體", 50);
textFont(font);
text("中文看到了", 50, 150);
PFont font2 = createFont("elffont-rock.otf", 50);
textFont(font2);
text("ㄇㄉㄈㄎ", 50, 250);


## week09_02_PFont_outside_void_setup_createFont_void_draw_text
PFont font0, font, font2; //3種字型:英文、中文、注音文(外面宣告,兩個函式都看得到)
void setup() {
  size(500, 500);//大視窗
  font0=createFont("Arial", 50);
  font=createFont("標楷體", 50);
  font2=createFont("elffont-rock.otf", 50);
}
void draw() {
  background(0);//黑色背景
  textSize(50);
  textFont(font0);
  text("Hello", 50, 50);
  textFont(font);
  text("中文看到了", 50, 150);
  //PFont font = createFont("標楷體", 50);
  textFont(font);
  text("中文看到了", 50, 150);
  //PFont font2 = createFont("elffont-rock.otf", 50);
  textFont(font2);
  text("ㄇㄉㄈㄎ", 50, 250);
}


## week09_03_import_processing_sound_SoundFile_sound_new_SoundFile_play_loop
import processing.sound.*;
SoundFile sound;
void setup() {
  size(500, 500);
  sound = new SoundFile(this, "In Game Music.mp3");
  sound.loop();//一直循環播放
}
void draw() {
}

//音樂就可以播放了

## week09_04_multiple_sound_files_keyPressed_stop_play
import processing.sound.*;
SoundFile sound1, sound2, hit;
void setup() {
  size(500, 500);
  sound1 = new SoundFile(this, "In Game Music.mp3");
  sound2 =new SoundFile(this, "Intro Song_Final.mp3");
  hit = new SoundFile(this, "sword slash.mp3");
  sound2.play();
}
void draw() {
  background(255);
}
void mousePressed() {
  hit.play();//mouse按下時,揮劍的聲音
}
void keyPressed() {
  if (key=='1') {
    sound2.stop();
    sound1.play();
  } else {
    sound1.stop();
    sound2.play();
  }
}

## week09_05_keyboard_ninja01_background_image_appleX_appleY_appleVX_appleVY_g
PImage board;
void setup() {
  size(600, 400);
  board = loadImage("board.png");//裡面修改變數
}
float appleX = 100, appleY=500, appleVX=3, appleVY=-30;
void draw() {
  background(board);//裡面使用變數
  fill(255, 0, 0);
  ellipse(appleX, appleY, 80, 80);//紅色的蘋果
  appleX +=appleVX;//照著運動的速度,X往右移
  appleY +=appleVY;//照著運動的速度,Y也會移動
  appleVY +=0.98; //0.98 gravity 重力加速度(移動的速度,會受到「加速度」影響
  if (appleX>600) {
    appleX = 100;
    appleY = 500;
    appleVX = 5;
    appleVY=-30;
  }//當蘋果太右邊時,重新設新的蘋果的位置、速度
}

//紅色的蘋果會持續做拋物線

## week09_06_keyboard_ninja03_void_randomApple

PImage board;
void setup() {
  size(600, 400);
  board = loadImage("board.png");//裡面修改變數
}
float appleX = 100, appleY=500, appleVX=3, appleVY=-30;
void randomApple() {
  appleX = random(100, 500);
  appleY = 500;
  if (appleX<300) appleVX = random(0, 8);
  else appleVX =random(-8, 0);
  appleVY = random(-30, -25);
}
void draw() {
  background(board);//裡面使用變數
  fill(255, 0, 0);
  ellipse(appleX, appleY, 80, 80);//紅色的蘋果
  appleX +=appleVX;//照著運動的速度,X往右移
  appleY +=appleVY;//照著運動的速度,Y也會移動
  appleVY +=0.98; //0.98 gravity 重力加速度(移動的速度,會受到「加速度」影響
  if (appleX>600 || appleX<0 || appleY>550) {
    //appleX = 100;
    //appleY = 500;
    //appleVX = 5;
    //appleVY=-30;
    randomApple();
  }//當蘋果太右邊時,重新設新的蘋果的位置、速度
}
//Apple 會隨機跳來跳去


## week09_07_keyboard_ninja04_void_keyPressed_appleKey
PImage board;
void setup() {
  size(600, 400);
  board = loadImage("board.png");//裡面修改變數
  randomApple();
}
float appleX = 100, appleY=500, appleVX=3, appleVY=-30;
char appleKey; //蘋果上面,要秀的字母
void randomApple() {
  appleX = random(100, 500);
  appleY = 500;
  if (appleX<300) appleVX = random(0, 8);
  else appleVX =random(-8, 0);
  appleVY = random(-30, -25);
  appleKey=(char)('a'+int(random(26)));
}
int score =0;
void keyPressed() {
  if (key==appleKey) {
    score +=100;//答對加分
  } else {
    score -=200; //答錯扣很多分
  }
}
void draw() {
  background(board);//裡面使用變數
  text("Score:"+score, 400, 50);
  fill(255, 0, 0);
  ellipse(appleX, appleY, 80, 80);//紅色的蘋果
  fill(255, 255, 0);
  textSize(50);
  textAlign(CENTER, CENTER);
  text(appleKey, appleX, appleY);
  appleX +=appleVX;//照著運動的速度,X往右移
  appleY +=appleVY;//照著運動的速度,Y也會移動
  appleVY +=0.98; //0.98 gravity 重力加速度(移動的速度,會受到「加速度」影響
  if (appleX>600 || appleX<0 || appleY>550) {
    //appleX = 100;
    //appleY = 500;
    //appleVX = 5;
    //appleVY=-30;
    randomApple();
  }//當蘋果太右邊時,重新設新的蘋果的位置、速度
}


## week09_08_keyboard_ninja05_start_3_2_1_go
char appleKey; //蘋果上面,要秀的字母
void randomApple() {
  appleX = random(100, 500);
  appleY = 500;
  if (appleX<300) appleVX = random(0, 8);
  else appleVX =random(-8, 0);
  appleVY = random(-30, -25);
  appleKey=(char)('a'+int(random(26)));
}
int score =0;
void keyPressed() {
  if (state==0) state=1; //任意按鍵,會開始3,2,1倒數
  if (state==2) {
    if (key==appleKey) {
      score +=100;//答對加分
    } else {
      score -=20; //答錯扣很多分
    }
  }
}
int state = 0;// 0:wait , 1:3,2,1,GO, 2:Game
int countdown = 60*4; //倒數計時3秒
void draw() {
  background(board);//裡面使用變數
  textSize(50);
  textAlign(CENTER, CENTER);
  fill(255, 255, 0);
  if (state==0) text("Press Any Key to Start", 300, 200);
  else if (state==1) {
    textSize(100);
    countdown--;
    if (countdown>60*3) text("3", 300, 200);
    else if (countdown>60*2) text("2", 300, 200);
    else if (countdown>60*1) text("1", 300, 200);
    else if (countdown>0) text("GO", 300, 200);
    else state = 2;
  } else {
    text("Score:"+score, 400, 50);
    fill(255, 0, 0);
    ellipse(appleX, appleY, 80, 80);//紅色的蘋果
    fill(255, 255, 0);
    textSize(50);
    textAlign(CENTER, CENTER);
    text(appleKey, appleX, appleY);
    appleX +=appleVX;//照著運動的速度,X往右移
    appleY +=appleVY;//照著運動的速度,Y也會移動
    appleVY +=0.98; //0.98 gravity 重力加速度(移動的速度,會受到「加速度」影響
    if (appleX>600 || appleX<0 || appleY>550) {
      //appleX = 100;
      //appleY = 500;
      //appleVX = 5;
      //appleVY=-30;
      randomApple();
    }//當蘋果太右邊時,重新設新的蘋果的位置、速度
  }
}


## week09_09_keyboard_ninja06_add_music
import processing.sound.*;
SoundFile sound1, sound2, sound3;
PImage board;
void setup() {
  size(600, 400);
  board = loadImage("board.png");//裡面修改變數
  randomApple();
  sound1 = new SoundFile(this, "Intro Song_Final.mp3");
  sound2 = new SoundFile(this, "Gong.mp3");
  sound3 = new SoundFile(this, "In Game Music.mp3");
  sound1.play();
}
float appleX = 100, appleY=500, appleVX=3, appleVY=-30;
char appleKey; //蘋果上面,要秀的字母
void randomApple() {
  appleX = random(100, 500);
  appleY = 500;
  if (appleX<300) appleVX = random(0, 8);
  else appleVX =random(-8, 0);
  appleVY = random(-30, -25);
  appleKey=(char)('a'+int(random(26)));
}
int score =0;
void keyPressed() {
  if (state==0) state=1; //任意按鍵,會開始3,2,1倒數
  if (state==2) {
    if (key==appleKey) {
      score +=100;//答對加分
    } else {
      score -=20; //答錯扣很多分
    }
  }
}
int state = 0;// 0:wait , 1:3,2,1,GO, 2:Game
int countdown = 60*4; //倒數計時3秒
void draw() {
  background(board);//裡面使用變數
  textSize(50);
  textAlign(CENTER, CENTER);
  fill(255, 255, 0);
  if (state==0) text("Press Any Key to Start", 300, 200);
  else if (state==1) {
    textSize(100);
    countdown--;
    if (countdown>60*3) text("3", 300, 200);
    else if (countdown>60*2) text("2", 300, 200);
    else if (countdown>60*1) text("1", 300, 200);
    else if (countdown>0) text("GO", 300, 200);
    else state = 2;
  } else {
    text("Score:"+score, 400, 50);
    fill(255, 0, 0);
    ellipse(appleX, appleY, 80, 80);//紅色的蘋果
    fill(255, 255, 0);
    textSize(50);
    textAlign(CENTER, CENTER);
    text(appleKey, appleX, appleY);
    appleX +=appleVX;//照著運動的速度,X往右移
    appleY +=appleVY;//照著運動的速度,Y也會移動
    appleVY +=0.98; //0.98 gravity 重力加速度(移動的速度,會受到「加速度」影響
    if (appleX>600 || appleX<0 || appleY>550) {
      //appleX = 100;
      //appleY = 500;
      //appleVX = 5;
      //appleVY=-30;
      randomApple();
    }//當蘋果太右邊時,重新設新的蘋果的位置、速度
  }
}


##上傳github!!



沒有留言:

張貼留言