2023年11月23日 星期四

week11 UC

 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.改為數字呈現,用for迴圈來隨機排列








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+25,i*100+50);
      }
   }
}
3.先排序再用k來決定交換次數








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++){
    for(int j=0;j<6;j++){
     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;
void setup(){
  size(400,400);
  textSize(50);
}
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;
}
5.轉場畫面









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;
  }
}
6.全部轉場動畫









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;
  }
}
7籃球機拋物線
PImage imgRack;
void setup(){
  size(300,300);
  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(#FFA625);ellipse(mouseX,mouseY,20,20);
}
float posX=-100,posY=-100;
void mousePressed(){
  posX=mouseX;
  posY=mouseY;
}
8.彈射
PImage imgRack;
void setup(){
  size(300,300);
  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(#FFA625);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;
}
9.按按鍵結束
PImage imgRack;
void setup(){
  size(300,300);
  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(#FFA625);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;
}

沒有留言:

張貼留言