顯示具有 03161211_林聖倫 標籤的文章。 顯示所有文章
顯示具有 03161211_林聖倫 標籤的文章。 顯示所有文章

2018年1月22日 星期一

week 06

做出簡易爆爆王


程式碼:
void setup(){
  size(850,500);
}
int userJ=9, userI=5;
float  userX, userY;
int waterN=0;
int []waterJ=new int[100];
int []waterI=new int[100];
void draw(){
  background(#92AD28);
  noStroke();
  for(int x=0;x<17;x++){
    for(int y=0;y<10;y++){
      if((x-y)%2 ==0) fill(#7E9819);
      else fill(#92AD28);
      rect(x*50,y*50,50,50);
    }
  }
  fill(255,0,0); ellipse(userJ*50+25 , userI*50+25, 50,50);
  for(int i=0; i<waterN; i++){
      fill(#93E1F7); ellipse(userJ*50+25 , userI*50+25, 30,30);
  }
}
void keyPressed(){
  if(keyCode==LEFT) userJ--;
  if(keyCode==RIGHT) userJ++;
  if(keyCode==UP) userI--;
  if(keyCode==DOWN) userI++;
  if(keyCode==' '){ waterI[waterN]=userI; waterJ[waterN]=userJ; waterN++;}
}
2.鱷魚咬手指
程式碼:
void setup()
{
  size(500,500);
}
void draw()
{
  background(255);
  fill(0,155,0);
  ellipse(250,250,300,300);
  for(int i=0;i<9;i++)
  {
    fill(255);
    rect(110+i*30,200,30,30);
    if(110+i*30<mouseX && mouseX<110+i*30+30 && 200<mouseY && mouseY<200+30)
    {
      fill(0);
      rect(110+i*30,200,30,30);
    }
  }
  for(int i=0;i<9;i++)
  {
    fill(255);
    rect(110+i*30,300,30,30);
    if(110+i*30<mouseX && mouseX<110+i*30+30 && 300<mouseY && mouseY<300+30)
    {
      fill(0);
      rect(110+i*30,300,30,30);
    }
  }
}

week 07

我們期末想做像是憤怒鳥一樣的遊戲並加入自己喜歡的元素



將女神設為我們的目標

男神社為我們的炮台
憤怒鳥程式碼
PImage imgBird,imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("angryBird.png");
  imgPig=loadImage("pig.png");
  imageMode(CENTER);
  for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      pigX[i][j]=700-i*100;  pigY[i][j]=100+j*100;  pigAlive[i][j]=true;
    }
  }    //  射擊物小豬的位置
}
float birdX=400,birdY=300;
float birdVX=0,birdVY=0;
float birdAX=0,birdAY=0;
//float pigX=700,pigY=100;
//boolean pigAlive=true;
float [][]pigX=new float[5][4];   
float [][]pigY=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];    //  射擊物小豬分成多個物件
void draw(){
  background(255);
  image(imgBird,birdX,birdY,100,100);
  for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      if(dist(pigX[i][j],pigY[i][j], birdX,birdY)<100){
         pigAlive[i][j]=false;       }
      if(pigAlive[i][j])  image(imgPig,pigX[i][j],pigY[i][j],100,100);
    }
  }     //   多個小豬物件當被憤怒鳥觸碰到時會消失
  
  line(birdX,birdY,400,300);
  birdX+=birdVX;    birdY+=birdVY;
  if(birdX<50) {birdX=50; birdVX=-birdVX;}
  if(birdX>width-50) {birdX=width-50; birdVX=-birdVX;}
  if(birdX<50) {birdY=50; birdVY=-birdVY;}
  if(birdY>height-50) {birdY=height-50; birdVY=-birdVY;}
  birdVX+=birdAX;    birdVY+=birdAY;
  birdVX*=0.997;     birdVY*=0.997;
}
void mouseDragged(){
   birdX=mouseX;  birdY=mouseY;
   birdVX=birdVY=birdAX=birdAY=0;
}
void mouseReleased(){
   birdVX=(400-mouseX)/10.0;
   birdVY=(300-mouseY)/10.0;
   birdAY=0.98;
}

week 08



我們將遊戲介面設計出來,並加入音樂

以下是我們的弓箭剩餘數的提示

加入音樂程式碼參考:
import processing.sound.*;
SoundFile sound;
void setup(){
  sound=new SoundFile(this,"Golly_Gee.mp3");
  sound.play();
  sound.loop();
}

week 09



最終版

程式碼: 


將女神作為目標,射出箭以擊中目標


若在目標落地前,或箭射完前,擊中目標就贏了





反之,都沒有的話就輸了

week 13

搖桿換顏色加控制方向

程式教學 
import processing.serial.*;
Serial myPort;

void setup(){
  size(400,400);
  
  myPort=new Serial(this,"COM6",115200);
}

void draw(){

  if(myPort.available()>0){
    //String now = myPort.readString();
    int pin2=myPort.read();
    int x=myPort.read();
    int y=myPort.read();
    println(pin2);
    if(pin2==1) background(255,0,0);
    else background(0,255,0);
    ellipse(x,y,20,20);
  }
}



// Arduino pin numbers
const int SW_pin = 2; // digital pin connected to switch output
const int X_pin = 0; // analog pin connected to X output
const int Y_pin = 1; // analog pin connected to Y output

void setup() {
  pinMode(SW_pin, INPUT);
  digitalWrite(SW_pin, HIGH);
  Serial.begin(115200);
}

void loop() {
  Serial.write(digitalRead(2));
  Serial.write(analogRead(A0)/4);
  Serial.write(analogRead(A1)/4);
  //Serial.print(digitalRead(SW_pin));
  //Serial.print("\n");
  //Serial.print("X-axis: ");
  //Serial.print(analogRead(X_pin));
  //Serial.print("\n");
  //Serial.print("Y-axis: ");
 // Serial.println(analogRead(Y_pin));
 // Serial.print("\n\n");
  delay(500);
}
}

Week 19 期末作品展示

 03161211 林聖倫 03160402林品至
電蚊拍飛鏢遊戲

程式碼:
const int buzzer = 8; // 用Pin8 輸出方波至蜂鳴器 void setup() { pinMode(buzzer,OUTPUT); } void loop() { // simulate phone call for ( int ii=0; ii<10; ii++ ) { tone(buzzer,1000); delay(50); tone(buzzer,500); delay(50); } noTone(buzzer); delay(2000); }

2017年11月21日 星期二

期中作業 我是神射手

1.首先遊戲的介面 右下角的男生就是你可以操作的弓箭手
右下角是有剩餘弓箭的數量
2.遊戲規則是 遊戲開始時會從右邊彈出一個女生目標,而有三支箭機會可以射擊,若是女生掉到地上或是箭射完遊戲就輸了
,若只要一支箭射到目標就遊戲成功
https://youtu.be/ZGMpCItTlNY

2017年10月2日 星期一

WEEK04 拋物線和音效

1.
float [][]pigy=new float[5][4];
float [][]pigx=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
  size(800,600);
   for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      pigx[i][j]=700-i*100;pigy[i][j]=100+j*100;pigAlive[i][j]=true;
    }
  }
}
void draw(){
  for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      fill(#07DE0F); ellipse(pigx[i][j], pigy[i][j], 100, 100);
   }
  }
  fill(#DE0719); ellipse(400, 300, 100, 100);
}

2.
float birdX = 100, birdY = 400;
float birdVX = 0, birdVY = 0;
float birdAX = 0, birdAY = 0;
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
  size(800,600);
   for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      pigx[i][j]=700-i*100;pigy[i][j]=100+j*100;pigAlive[i][j]=true;
    }
  }
}
void draw(){
  background(255);
    for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      if (dist(birdX, birdY,pigx[i][j], pigy[i][j])<100)
        pigAlive[i][j]=false;
      if(pigAlive[i][j]){fill(#07DE0F); ellipse(pigx[i][j], pigy[i][j], 100, 100);}
  }
}
  //fill(#DE0719); ellipse(400, 300, 100, 100);
  fill(#DE0719); ellipse(birdX,birdY, 100, 100);
  birdX += birdVX;
  birdY += birdVY;
  birdVX += birdAX;
  birdVY += birdAY;
}
void mouseDragged(){
  birdX=mouseX;
  birdY=mouseY;
}

3.
float birdX = 100, birdY = 400;
float birdVX = 0, birdVY = 0;
float birdAX = 0, birdAY = 0;
float [][]pigx=new float[5][4];
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];
void setup(){
  size(800,600);
   for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      pigx[i][j]=700-i*100;pigy[i][j]=100+j*100;pigAlive[i][j]=true;
    }
  }
}
void draw(){
  background(255);
  for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      if (dist(birdX, birdY,pigx[i][j], pigy[i][j])<100)
        pigAlive[i][j]=false;
      if(pigAlive[i][j]){fill(#07DE0F); ellipse(pigx[i][j], pigy[i][j], 100, 100);}
  }
}
  //fill(#DE0719); ellipse(400, 300, 100, 100);
  fill(#DE0719); ellipse(birdX,birdY, 100, 100);
  birdX += birdVX;
  birdY += birdVY;
  birdVX += birdAX;
  birdVY += birdAY;
}
void mouseDragged(){
  birdX=mouseX;
  birdY=mouseY;
  birdVX=0;birdVY=0;
  birdAY=0;
}
void mouseReleased(){
  birdVX=(100-mouseX)/5.0; birdVY=(400-mouseY)/5.0;birdAY=0.98;
}

4.
import processing.sound.*;
SoundFile sound;
void setup(){
  size(800,600);
  sound=new SoundFile(this,"DORA.mp3");
  sound.play();
  sound.loop();

}

2017年9月30日 星期六

week03 :豬與鳥

1.
PImage imgBird , imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("BIRD.jpg");
  imgPig=loadImage("PIG.jpg");


}
void draw(){
  background(255);
  image(imgPig,400,300);
  image(imgBird,mouseX,mouseY);
}

2.
PImage imgBird , imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("BIRD.jpg");
  imgPig=loadImage("PIG.jpg");


}
float birdx=400,birdy=300;
void draw(){
  background(255);
  image(imgPig,400,300);
  image(imgBird,birdx,birdy);
}
void mouseDragged(){
  birdx=mouseX;birdy=mouseY;
}












3.
void setup(){
  size(800,600);
}
float birdx=400,birdy=300;
float birdvx=0,birdvy=0;
void draw(){
  background(255);
  ellipse(birdx,birdy,100,100);
  line(birdx,birdy,400,300);
  birdx += birdvx;
  birdy +=birdvy;
}
void mouseDragged(){
  birdx=mouseX;birdy=mouseY;
}
void mouseReleased(){
  birdvx=(400-mouseX)/100.0;
  birdvy=(400-mouseY)/100.0;

}

4.
PImage imgBird , imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("BIRD.jpg");
  imgPig=loadImage("PIG.jpg");
  imageMode(CENTER);

}
float birdx=400,birdy=300;
float birdvx=0,birdvy=0;
void draw(){
  background(255);
  image(imgBird,birdx,birdy,100,100);
  line(birdx,birdy,400,300);
  birdx +=birdvx;
  birdy +=birdvy;
}
void mouseDragged(){
  birdx=mouseX;birdy=mouseY;
}
void mouseReleased(){
  birdvx=(400-mouseX)/100.0;
  birdvy=(400-mouseY)/100.0;

}

5.
PImage imgBird , imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("BIRD.jpg");
  imgPig=loadImage("PIG.jpg");
  imageMode(CENTER);

}
float birdx=400,birdy=300;
float birdvx=0,birdvy=0;
float birdax=0,birday=0;

void draw(){
  background(255);
  image(imgBird,birdx,birdy,100,100);
  line(birdx,birdy,400,300);
  birdx +=birdvx;
  birdy +=birdvy;
  birdvx +=birdax;
  birdvy +=birday;
}
void mouseDragged(){
  birdx=mouseX;birdy=mouseY;
  birdvx=birdvy=birdax=birday=0;
}
void mouseReleased(){
  birdvx=(400-mouseX)/10.0;
  birdvy=(300-mouseY)/10.0;
  birday=0.98;
}


6.
PImage imgBird , imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("BIRD.jpg");
  imgPig=loadImage("PIG.jpg");
  imageMode(CENTER);

}
float birdx=400,birdy=300;
float birdvx=0,birdvy=0;
float birdax=0,birday=0;
float pigx=700,pigy=100;
boolean pigAlive=true;
void draw(){
  background(255);
  if(pigAlive)image(imgPig,pigx,pigy,100,100);
  image(imgBird,birdx,birdy,100,100);
  if(dist(pigx,pigy,birdx,birdy)<100){
  pigAlive=false;}
  line(birdx,birdy,400,300);
  birdx +=birdvx;
  birdy +=birdvy;
  birdvx +=birdax;
  birdvy +=birday;
}
void mouseDragged(){
  birdx=mouseX;birdy=mouseY;
  birdvx=birdvy=birdax=birday=0;
}
void mouseReleased(){
  birdvx=(400-mouseX)/10.0;
  birdvy=(300-mouseY)/10.0;
  birday=0.98;
}

7.
PImage imgBird , imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("BIRD.jpg");
  imgPig=loadImage("PIG.jpg");
  imageMode(CENTER);

}
float birdx=400,birdy=300;
float birdvx=0,birdvy=0;
float birdax=0,birday=0;
float pigx=700,pigy=100;
boolean pigAlive=true;
void draw(){
  background(255);
  if(pigAlive)image(imgPig,pigx,pigy,100,100);
  image(imgBird,birdx,birdy,100,100);
  if(dist(pigx,pigy,birdx,birdy)<100){
  pigAlive=false;}
  line(birdx,birdy,400,300);
  birdx +=birdvx;
  birdy +=birdvy;
  if(birdx<50){birdx=50;birdvx= -birdvx;}
  if(birdx>width-50){birdx=width-50;birdvx=-birdvx;}
  if(birdy<50){birdy=50;birdvy=-birdvy;}
  if(birdy>height-50){birdy=height-50;birdvy=-birdvy;}
  birdvx +=birdax;
  birdvy +=birday;
  birdvx *=0.997;
  birdvy *=0.997;
}
void mouseDragged(){
  birdx=mouseX;birdy=mouseY;
  birdvx=birdvy=birdax=birday=0;
}
void mouseReleased(){
  birdvx=(400-mouseX)/10.0;
  birdvy=(300-mouseY)/10.0;
  birday=0.98;
}

8.
void setup(){
  size(600,500);
}
int boardX=227, boardY=400;
int kidX=300,kidY=250;
void draw(){
  background(0);
  rect(boardX,boardY,200,50);
  rect(kidX,kidY,50,50);

  if(kidX>boardX-50 && kidX<boardX+200 &&
      kidY>boardY-50){}
      else kidY++;
      kidX=mouseX;
}