2023年10月26日 星期四

真week07

 week07

滑鼠畫線

void setup(){
 size (400,400); 
 background(255); 
}
void draw(){
 if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY); 
}
void mouseReleased(){
 background(255); 
}


鬼跑出來
void setup(){
 size (400,400); 
 background(255); 
}
float ghostX=400,ghostY=20;
void draw(){
  ellipse(200,200,15,15);
  if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY); 
   ellipse(ghostX,ghostY,15,15);
  float dx=200-ghostX,dy=200-ghostY,len =sqrt(dx*dx+dy*dy);
   ghostX+=dx/len/3;
   ghostY+=dy/len/3;
}
void mouseReleased(){
 background(255); 
}













ArrayList<PVector>pt=new ArrayList<PVector>();
void setup(){
 size (400,400); 
 background(255); 
}
float ghostX=400,ghostY=20;
void mouseDragged(){
 pt.add(new PVector(mouseX,mouseY)); 
}
void draw(){
  ellipse(200,200,15,15);
  ///if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY); 
  for(int i=0;i<pt.size();i++){
   PVector p=pt.get(i); 
   ellipse(p.x,p.y,3,3);
  }
   ellipse(ghostX,ghostY,15,15);
  float dx=200-ghostX,dy=200-ghostY,len =sqrt(dx*dx+dy*dy);
   ghostX+=dx/len/3;
   ghostY+=dy/len/3;
}
void mouseReleased(){
 background(255); 
}











ArrayList<PVector> pt=new ArrayList<PVector>();
void setup(){
  size(400,400);
  background(255);
}
float ghostX=400,ghostY=20;
void mouseDragged(){
  pt.add(new PVector(mouseX,mouseY));
}
void draw(){
  background(255);
  ellipse(200,200,15,15);
  for(int i=0;i<pt.size();i++){
    PVector p=pt.get(i);
    ellipse(p.x,p.y,3,3);
  }
  ellipse(ghostX,ghostY,15,15);
  float dx=200-ghostX,dy=200-ghostY,len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
} 
void mouseReleased(){
  for(int i=pt.size()-1;i>=0;i--){
    pt.remove(i);
  }
}









ArrayList<PVector> pt=new ArrayList<PVector>();
void setup(){
  size(400,400);
  background(255);
}
float ghostX=400,ghostY=20;
void mouseDragged(){
  pt.add(new PVector(mouseX,mouseY));
}
void draw(){
  background(255);
  ellipse(200,200,15,15);
  for(int i=0;i<pt.size()-1;i++){
    PVector p=pt.get(i),p2=pt.get(i+1);
    line(p.x,p.y,p2.x,p2.y);
  }
  ellipse(ghostX,ghostY,15,15);
  float dx=200-ghostX,dy=200-ghostY,len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
} 
void mouseReleased(){
  for(int i=pt.size()-1;i>=0;i--){
    pt.remove(i);
  }
}









ArrayList<PVector> pt = new ArrayList<PVector>();
void setup()
{
  size(400, 400);
  background(255);
}
float ghostX=400, ghostY=20;
void mouseDragged(){ 
  pt.add(new PVector(mouseX, mouseY));
}
void draw()
{
  background(255);
  ellipse(200, 200, 15, 15);
  ellipse(ghostX,ghostY, 15, 15);
  strokeWeight(4);
  float dpx=0,dpy=0;
  for (int i=0; i<pt.size()-1; i++){ // -1下面要加回來
    PVector p = pt.get(i), p2 = pt.get(i+1); 
    dpx+=abs(p2.x-p.x);
    dpx+=abs(p2.y-p.y);
  }
  if(dpx>100&&dpy<40)stroke(255,0,0);
  else stroke(0);
   for (int i=0; i<pt.size()-1; i++){
     PVector p = pt.get(i), p2 = pt.get(i+1);
    line(p.x, p.y, p2.x, p2.y); // ellipse(p.x, p.y, 3, 3);
   }
  float dx = 200-ghostX, dy = 200-ghostY, len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
}
void mouseReleased()
{
  // background(255);
  for (int i=pt.size()-1; i>=0; i--){
    pt.remove(i);
  }
}


ArrayList<PVector> pt = new ArrayList<PVector>();
void setup()
{
  size(400, 400);
  background(255);
}
float ghostX=400, ghostY=20;
void mouseDragged(){ 
  pt.add(new PVector(mouseX, mouseY));
}
void draw()
{
  background(255);
  strokeWeight(1);
  stroke(0);ellipse(200, 200, 15, 15);
  stroke(0);ellipse(ghostX,ghostY, 15, 15);
  strokeWeight(4);
  float dpx=0,dpy=0;
  for (int i=0; i<pt.size()-1; i++){ // -1下面要加回來
    PVector p = pt.get(i), p2 = pt.get(i+1); 
    dpx+=abs(p2.x-p.x);
    dpy+=abs(p2.y-p.y);
  }
  if(dpx>100&&dpy<40)stroke(255,0,0);
  else if(dpx<40&&dpy>100)stroke(0,0,255);
  else stroke(0);
   for (int i=0; i<pt.size()-1; i++){
     PVector p = pt.get(i), p2 = pt.get(i+1);
    line(p.x, p.y, p2.x, p2.y); // ellipse(p.x, p.y, 3, 3);
   }
  float dx = 200-ghostX, dy = 200-ghostY, len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
}
void mouseReleased()
{
  // background(255);
  for (int i=pt.size()-1; i>=0; i--){
    pt.remove(i);
  }
}










ArrayList<PVector> pt = new ArrayList<PVector>();
void setup()
{
  size(400, 400);
  background(255);
}
float ghostX=400, ghostY=20;
void mouseDragged(){ 
  pt.add(new PVector(mouseX, mouseY));
}
void draw()
{
  background(255);
  strokeWeight(1);
  stroke(0);ellipse(200, 200, 15, 15);
  stroke(0);ellipse(ghostX,ghostY, 15, 15);
  strokeWeight(4);
  float dpx=0,dpy=0;
  int rightdown=0;
  for (int i=0; i<pt.size()-1; i++){ // -1下面要加回來
    PVector p = pt.get(i), p2 = pt.get(i+1); 
    dpx+=abs(p2.x-p.x);
    dpy+=abs(p2.y-p.y);
    if(p2.x-p.x>0 && p2.y-p.y>0)rightdown++;
  }
  if(dpx>100&&dpy<40)stroke(255,0,0);
  else if(dpx<40&&dpy>100)stroke(0,0,255);
  else if(rightdown>30)stroke(0,255,0);
  else stroke(0);
   for (int i=0; i<pt.size()-1; i++){
     PVector p = pt.get(i), p2 = pt.get(i+1);
    line(p.x, p.y, p2.x, p2.y); // ellipse(p.x, p.y, 3, 3);
   }
  float dx = 200-ghostX, dy = 200-ghostY, len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
}
void mouseReleased()
{
  // background(255);
  for (int i=pt.size()-1; i>=0; i--){
    pt.remove(i);
  }
}









ArrayList<PVector> pt = new ArrayList<PVector>();
void setup()
{
  size(400, 400);
  background(255);
}
float ghostX=400, ghostY=20;
void mouseDragged(){ 
  pt.add(new PVector(mouseX, mouseY));
}
void draw()
{
  background(255);
  strokeWeight(1);
  stroke(0);ellipse(200, 200, 15, 15);
  stroke(0);ellipse(ghostX,ghostY, 15, 15);
  strokeWeight(4);
  float dpx=0,dpy=0;
  float rightdown=0;
  for (int i=0; i<pt.size()-1; i++){ // -1下面要加回來
    PVector p = pt.get(i), p2 = pt.get(i+1); 
    dpx+=abs(p2.x-p.x);
    dpy+=abs(p2.y-p.y);
    if(p2.x-p.x>0 && p2.y-p.y>0)rightdown+=sqrt(dpx*dpx+dpy*dpy);
    ellipse(p.x,p.y, 10, 10);
  }
  if(dpx>100&&dpy<40)stroke(255,0,0);
  else if(dpx<40&&dpy>100)stroke(0,0,255);
  else if(rightdown>150)stroke(0,255,0);
  else stroke(0);
   for (int i=0; i<pt.size()-1; i++){
     PVector p = pt.get(i), p2 = pt.get(i+1);
    line(p.x, p.y, p2.x, p2.y); // ellipse(p.x, p.y, 3, 3);
   }
  float dx = 200-ghostX, dy = 200-ghostY, len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
}
void mouseReleased()
{
  // background(255);
  for (int i=pt.size()-1; i>=0; i--){
    pt.remove(i);
  }
}









ArrayList<PVector> pt = new ArrayList<PVector>();
void setup()
{
  size(400, 400);
  background(255);
}
float ghostX=400, ghostY=20;
void mouseDragged(){ 
  pt.add(new PVector(mouseX, mouseY));
}
void draw()
{
  background(255);
  strokeWeight(1);
  stroke(0);ellipse(200, 200, 15, 15);
  stroke(0);ellipse(ghostX,ghostY, 15, 15);
  strokeWeight(4);
  float dpx=0,dpy=0;
  float rightdown=0,rightup=0;
  boolean green_part1=false,green_ok=false;
  for (int i=0; i<pt.size()-1; i++){ // -1下面要加回來
    PVector p = pt.get(i), p2 = pt.get(i+1); 
    dpx+=abs(p2.x-p.x);
    dpy+=abs(p2.y-p.y);
    if(p2.x-p.x>0 && p2.y-p.y>0)rightdown+=sqrt(dpx*dpx+dpy*dpy);
    if(p2.x-p.x>0 && p2.y-p.y<0)rightup+=sqrt(dpx*dpx+dpy*dpy);
    ellipse(p.x,p.y, 10, 10);
    if(green_part1==false&&rightdown>150)green_part1=true;
    if(green_ok==true&&rightup>150)green_ok=true;
  }
  if(dpx>100&&dpy<40)stroke(255,0,0);
  else if(dpx<40&&dpy>100)stroke(0,0,255);
  else if(rightdown>150)stroke(0,255,0);
  else stroke(0);
   for (int i=0; i<pt.size()-1; i++){
     PVector p = pt.get(i), p2 = pt.get(i+1);
    line(p.x, p.y, p2.x, p2.y); // ellipse(p.x, p.y, 3, 3);
   }
  float dx = 200-ghostX, dy = 200-ghostY, len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
}
void mouseReleased()
{
  // background(255);
  for (int i=pt.size()-1; i>=0; i--){
    pt.remove(i);
  }
}









ArrayList<PVector> pt=new ArrayList<PVector>();
void setup(){
  size(400,400);
  background(255);
}
float ghostX=400,ghostY=20;
void mouseDragged(){
  pt.add(new PVector(mouseX,mouseY));
}
void draw(){
  background(255);
  strokeWeight(1);
  stroke(0);ellipse(200,200,15,15);
  stroke(0);ellipse(ghostX,ghostY,15,15);
  strokeWeight(4);
  float dpx=0,dpy=0;
  float rightdown=0,green_rightup=0;
  boolean green_part1=false,green_ok=false;
  for(int i=0;i<pt.size()-1;i++){
    PVector p=pt.get(i),p2=pt.get(i+1);
    dpx+=abs(p2.x-p.x);
    dpy+=abs(p2.y-p.y);
    if(p2.x-p.x>0&&p2.y-p.y>0)rightdown+=sqrt(dpx*dpx+dpy*dpy);
    if(green_part1&&p2.x-p.x>0&&p2.y-p.y<0)green_rightup+=sqrt(dpx*dpx+dpy*dpy);
    if(green_part1==false&&rightdown>150)green_part1=true;
    else if(green_part1==true&&green_rightup>150)green_ok=true;
  }
  if(dpx>100&&dpy<40)stroke(255,0,0);
  else if(dpx<40&&dpy>100)stroke(0,0,255);
  else if(green_ok)stroke(0,255,0);
  else if(green_part1)stroke(0,128,0);
  else stroke(0);
    for(int i=0;i<pt.size()-1;i++){
    PVector p=pt.get(i),p2=pt.get(i+1);
    line(p.x,p.y,p2.x,p2.y);
  }
  float dx=200-ghostX,dy=200-ghostY,len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
} 
void mouseReleased(){
  for(int i=pt.size()-1;i>=0;i--){
    pt.remove(i);
  }
}









ArrayList<PVector>pt = new ArrayList<PVector>();
void setup(){
  size(400,400);
}
float ghostX=400,ghostY=20;
void mouseDragged(){
  pt.add(new PVector(mouseX,mouseY));
}
void draw(){
  background(255);
  strokeWeight(1);
  stroke(0);ellipse(200,200,15,15);
  stroke(0);ellipse(ghostX,ghostY,15,15);
  //if(mousePressed) line(mouseX,mouseY,pmouseX,pmouseY);
  strokeWeight(4);
  float dpx=0,dpy=0;
  float rightdown = 0,green_rightup =0;
  float rightup=0,yellow_rightdown=0;
  boolean green_part1 = false,green_ok = false;
  boolean yellow_part1 = false,yellow_ok = false;
  for(int i=0;i<pt.size()-1;i++){
    PVector p=pt.get(i),p2=pt.get(i+1);
    dpx += abs(p2.x-p.x);
    dpy += abs(p2.y-p.y);
    if(p2.x-p.x >0 && p2.y-p.y>0)rightdown += sqrt(dpx*dpx+dpy*dpy);
    if(green_part1 && p2.x-p.x >0 && p2.y-p.y<0)green_rightup += sqrt(dpx*dpx+dpy*dpy);
    if(p2.x-p.x >0 && p2.y-p.y<0)rightup += sqrt(dpx*dpx+dpy*dpy);
    if(yellow_part1 && p2.x-p.x >0 && p2.y-p.y>0)yellow_rightdown += sqrt(dpx*dpx+dpy*dpy);
    
    //ellipse(p.x,p.y,10,10);
    if(green_part1 == false && rightdown>150)green_part1 =true;
    else if(green_part1 == true && green_rightup>150)green_ok = true;
    if(yellow_part1 == false && rightdown>150)yellow_part1 =true;
    else if(yellow_part1 == true && yellow_rightdown>150)yellow_ok = true;
  }
  if(dpx>100 && dpy<40)stroke(255,0,0);
  else if(dpx<40 && dpy>100)stroke(0,0,255);
  else if(green_ok)stroke(0,255,0);
  ///else if(green_part1)stroke(0,128,0);
  else if(yellow_ok)stroke(255,255,0);
  else stroke(0);
  for(int i=0;i<pt.size()-1;i++){
    PVector p =pt.get(i),p2 = pt.get(i+1);
    line(p.x,p.y,p2.x,p2.y);//ellipse(p.x,p.y,3,3);
  }
  float dx = 200-ghostX,dy=200-ghostY,len=sqrt(dx*dx+dy*dy);
  ghostX+=dx/len/3;
  ghostY+=dy/len/3;
}
void mouseReleased(){
  for(int i=pt.size()-1;i>=0;i--){
    pt.remove(i);
    
  }
}


沒有留言:

張貼留言