2023年11月23日 星期四

WEEK11

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+25,i*100+50);

  }

  }

}


2.亂數平均分配

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++){ //x

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

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

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

  }

  }

}



3.從10開始 數字不重複








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; 

      }

    }

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

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

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

  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++){ //x

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

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

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

  }

  }

}



4.









int state = 0;  //0 white,1 red,2 blue

void setup(){

  size(400,400);

}

void draw(){

  if(state==0){ //0 is white

    background(255); 

  }else if(state==1){  //1 is red

    background(255,0,0);

  }else if(state==2){  //2 is blue 

    background(0,0,255);

  }

}


5. 點選之後進入畫面









int state = 0;  //0 white,1 red,2 blue

void setup(){

  size(400,400);

}

void draw(){

  if(state==0){ //0 is white

    background(255); 

    fill(0); text("Click to Start",80,200); 

 }else if(state==1){  //1 is red

    background(255,0,0);

  }else if(state==2){  //2 is blue 

    background(0,0,255);

  }

}

void mousePressed(){

  if(state==0) state=1;

}


6.方塊向右移動到指定位置即可過關









int state = 0;  //0 white,1 red,2 blue

void setup(){

  size(400,400);

}

int x=50,y=50;

void draw(){

  if(state==0){ //0 is white

    background(255); 

    fill(0); text("Click to Start",80,200); 

 }else if(state==1){  //1 is red

    background(255,0,0);

    fill(255); rect(300,50,50,50);

    fill(128); rect(x,y,50,50);

 }else if(state==2){  //2 is blue 

    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;

  } 

}


7.方塊往右即過關的循環程式 可一直重複過關









int state = 0;  //0 white,1 red,2 blue

void setup(){

  size(400,400);

  textSize(50);

}

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

void draw(){

  if(state==0){ //0 is white

    background(255); 

    fill(0); text("Click to Start",80,200); 

    x=50;

 }else if(state==1){  //1 is red

    background(255,0,0);

    fill(255); rect(300,50,50,50);

    fill(128); rect(x,y,50,50);

    t=100;

 }else if(state==2){  //2 is blue 

    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;

  } 

}






另外補充 投籃(投球的曲線):

PImage imgRack;

void setup(){

  size(300,300);

  imgRack = looadImage("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;

   

}


更加完整的投籃球版本


PImage imgRack;

void setup(){

  size(300,300);

  imgRack = looadImage("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;

}


last

PImage imgRack;

void setup(){

  size(300,300);

  imgRack = looadImage("rack.jpg");

}

boolean gameOver=false;

void keyPressed(){

  gameOver = true;

}

void draw(){

  background(255);

  image(imgRack,0,0);

  if(flying){

    if( ! gameOver ){ //if(!keyPressed ){

    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;

}




沒有留言:

張貼留言