2023年11月23日 星期四

Week11 Jung

Week 11 10160783

  -----------------正式開始---------------

這是week11-1 先放背景圖並且填入 顏色 還有字體 並且將數字置中(有更改參數)

程式碼:

void setup(){
  size(600,500);

}
void draw(){
  background(255);
  for(int i=0;i<4;i++){
    for(int j=0;j<6;j++){
      fill(#F5B4B4); rect(j*100,i*100,100,100);
      fill(0);text("Hello",j*100+40,i*100+50);
    }
  }
}





這是week11-2
增加變數還有宣告 設定數字亂碼 int value

程式碼:

void setup(){

  size(600,500);

  for(int i=0;i<4;i++){

    for(int j=0;j<6;j++){

      value[i][j]=int(random(40));

    }

  }

}

int [][]value=new int[4][6];

void draw(){

  background(255);

  for(int i=0;i<4;i++){

    for(int j=0;j<6;j++){

      fill(#F5B4B4); rect(j*100,i*100,100,100);

      fill(0);text(value[i][j],j*100+45,i*100+50);

    }

  }

}




這是week11-3 亂數洗牌,新增i 和 i2 int k=0;k<2;k++,多洗兩次(可以大於2) 

程式碼:

void setup(){

  size(600,500);

  for(int i=0;i<4;i++){

    for(int j=0;j<6;j++){

      value[i][j]=i*6+j+10;//number

    }

  }

  for(int k=0;k<2;k++){

    int i=int(random(4)),j=int(random(4));

    int i2=int(random(4)),j2=int(random(4));

    int temp=value[i][j];

    value[i][j]=value[i2][j2];

    value[i2][j2]=temp;

  } 

}

int [][]value=new int[4][6];

void draw(){

  background(255);

  for(int i=0;i<4;i++){

    for(int j=0;j<6;j++){

      fill(#F5B4B4); rect(j*100,i*100,100,100);

      fill(0);text(value[i][j],j*100+45,i*100+50);

    }

  }

}




這是week11-4 做轉場(很多狀態)state 先設定顏色

程式碼:

int state=0;


void setup(){

  size(400,400);


}


void draw(){

  if(state==0){

    background(255);

  }else if(state==1){

    background(255,0,0);

  }else if(state==2){

    background(0,0,255);

  }

}




這是week11-5 加入字體提示轉換場景(按下滑鼠左鍵換第一場景)

程式碼:

int state=0;

void setup(){
  size(400,400);
}

void draw(){
  if(state==0){
    background(255);
    fill(0); text("Click to Start",80,200);
  }else if(state==1){
    background(255,0,0);
    
  }else if(state==2){
    background(0,0,255);
    
  }
}
void mousePressed(){
  if(state==0) state=1;
}

這是week11-6 

設定state x座標因按下向右鍵而向右 並且設定不同關卡顏色 X=50,Y=50

程式碼:

int state=0;

void setup(){
  size(400,400);
  textSize(50);
}

int x=50,y=50;

void draw(){
  if(state==0){
    background(255);
    fill(0); text("Click to Start",80,200);
  }else if(state==1){
    background(255,0,0);
    fill(255);rect(300,50,50,50);
    fill(128);rect(x,y,50,50);
  }else if(state==2){
    background(0,0,255);
    
  }
}
void mousePressed(){
  if(state==0) state=1;
}

void keyPressed(){
  if(state==1 && keyCode==RIGHT){
    x+=10;
    if(x==300) state=2;
  }
}





這是week11-7

狀態一開始是1 碰到彼此後進入2 程式碼增加加"T "並且開始倒數 從200開始倒數 結束倒數之後進入狀態0

程式碼:
int state=0;

void setup(){
  size(400,400);
  textSize(50);
}

int x=50,y=50,t=100;

void draw(){
  if(state==0){
    background(255);
    fill(0); text("Click to Start",80,200);
    x=50;
  }else if(state==1){
    background(255,0,0);
    fill(255);rect(300,50,50,50);
    fill(128);rect(x,y,50,50);
    t=100;
  }else if(state==2){
    background(0,0,255);
    fill(255,255,0); text("Wait "+t,80,200);
    t--;
    if(t==0) state=0;
  }
}
void mousePressed(){
  if(state==0) state=1;
}

void keyPressed(){
  if(state==1 && keyCode==RIGHT){
    x+=10;
    if(x==300) state=2;
  }
}

這是week11-8 射擊曲線做投籃機 全部重設 開新場景

程式碼:
PImage imgRack;
void setup(){
  size(500,500);
  imgRack=loadImage("rack.jpg");
}
void draw(){
  background(255);
  image (imgRack,0,0);
  if(mousePressed){
    fill(255);ellipse(posX,posY,20,20);
    line(posX,posY,mouseX,mouseY);
  }
  fill(#FFA652);ellipse(mouseX,mouseY,20,20);
}
float posX=-100,posY=-100;
void mousePressed(){
  posX=mouseX;
  posY=mouseY;
}


這是week11-9 
籃球設定  vy+=0.98(設定重力加速度) 加入mouseReleased和mousePressed

程式碼:

PImage imgRack;
void setup(){
  size(500,500);
  imgRack=loadImage("rack.jpg");
}
void draw(){
  background(255);
  image (imgRack,0,0);
  if(flying){
    x+=vx;
    y+=vy;
    vy+=0.98;
  }else{
    x=mouseX;
    y=mouseY;
    if(mousePressed){
      fill(255);ellipse(posX,posY,20,20);
      line(posX,posY,x,y);
    }
 }
    fill(#FFA652);ellipse(x,y,20,20);
}

boolean flying=false;
float x,y,vx,vy;
float posX=-100,posY=-100;

void mousePressed(){
  x=posX=mouseX;
  y=posY=mouseY;
  flying=false;
}
void mouseReleased(){
  vx=posX-mouseX;
  vy=posY-mouseY;
  flying=true;
}


這是week11-10 
boolean gameOver=false; 多增加一個 if(!gameOver){ 
記得多加一ㄍ括號 前面boolean先設變數

程式碼:
PImage imgRack;
void setup(){
  size(500,500);
  imgRack=loadImage("rack.jpg");
}
boolean gameOver=false;

void keyPressed(){
  gameOver=true;
}

void draw(){
  background(255);
  image (imgRack,0,0);
  if(flying){
    if(!gameOver){
      x+=vx;
      y+=vy;
      vy+=0.98;
    }
  }else{
    x=mouseX;
    y=mouseY;
    if(mousePressed){
      fill(255);ellipse(posX,posY,20,20);
      line(posX,posY,x,y);
    }
 }
    fill(#FFA652);ellipse(x,y,20,20);
}

boolean flying=false;
float x,y,vx,vy;
float posX=-100,posY=-100;

void mousePressed(){
  x=posX=mouseX;
  y=posY=mouseY;
  flying=false;
}
void mouseReleased(){
  vx=posX-mouseX;
  vy=posY-mouseY;
  flying=true;
}






沒有留言:

張貼留言