2018年9月27日 星期四

week03 阮致峰

1. 開啟processing



2. 畫出6個三角形組成的六角形
void setup()
{
   size(500,500);
}

void draw()
{
   ellipse(250,250,480,480);///250,250為圓心 480,480為直徑
   for(float angle=0; angle<PI*2; angle+=PI/3)///PI為圓周率的拍
  {
      triangle(250,250, 
                    250+240*cos(angle), 250+240*sin(angle),
                    250+240*cos(angle+PI/3),  250+240*sin(angle+PI/3));
   }
}



3. 重複畫出三角形
void setup(){
   size(500,500); 
}

void draw(){
   ellipse(250,250,480,480);
   for(float angle=0; angle<PI*2; angle+=PI/3)
   {
     for(int R=0; R<=240; R+=30)///設R讓半徑改變
     {
       noFill();///不填充(填滿)
      triangle(250,250,  
                    250+R*cos(angle),  250+R*sin(angle),  
                    250+R*cos(angle+PI/3),  250+R*sin(angle+PI/3)); 
     }  
 }
}



4. 角度變小
void setup(){
   size(500,500); 
}

void draw(){
   ellipse(250,250,480,480);
   for(float angle=0; angle<PI*2; angle+=PI/3)
   {
     for(int R=0; R<=240; R+=20)///設R讓半徑改變
     {
       noFill();///不填充(填滿)
      triangle(250,250,  
                    250+R*cos(angle),  250+R*sin(angle),  
                    250+R*cos(angle+PI/3),  250+R*sin(angle+PI/3)); 
     }  
 }
}



5. 畫出一堆三角形
void setup(){
   size(800,400);
}

void myTriangle(int cx, int cy)
{
   float a= -PI/2;
   for(int R=15; R>0; R-=5)
   {
      triangle(cx+R*cos(a), cy+R*sin(a),
               cx+R*cos(a+2*PI/3), cy+R*sin(a+2*PI/3),
               cx+R*cos(a-2*PI/3), cy+R*sin(a-2*PI/3));
   }
}

void draw(){
  background(255);
  for(int cx=20; cx<800 ;cx+=40)
  {
     for(int cy=20; cy<400; cy+=40)
     {
        myTriangle(cx,cy); 
     }
  }
}



6.讓馬力歐移動
PImage imgMario;
float marioX=0, marioY=0;
void setup()
{
   size(400,600);
   imgMario = loadImage("mario.png");
}
void draw()
{
   background(255);
   image(imgMario, marioX,marioY,150,150);
}
void keyPressed()
{
   if(keyCode==UP) {marioY-=5;} 
   if(keyCode==DOWN) {marioY+=5;} 
   if(keyCode==LEFT) {marioX-=5; } 
   if(keyCode==RIGHT) {marioX+=5;} 
}


7. 讓馬力歐跳
PImage imgMario;
float marioX=0, marioY=0,marioVX=2,marioVY=0,marioAX=0,marioAY=0.1;
void setup()
{
   size(400,600);
   imgMario = loadImage("mario.png");
}
void draw()
{
   ///background(255);
   image(imgMario, marioX,marioY,150,150);
   marioX += marioVX;
   marioY += marioVY;
   marioVX += marioAX;
   marioVY += marioAY;
}
void keyPressed()
{
   if(keyCode==UP) {marioY-=5;} 
   if(keyCode==DOWN) {marioY+=5;} 
   if(keyCode==LEFT) {marioX-=5; } 
   if(keyCode==RIGHT) {marioX+=5;} 
}


8.讓馬力歐跳(修改版)
PImage imgMario;
float marioX=0, marioY=100,marioVX=5,marioVY=0,marioAX=0,marioAY=0.1;
void setup()
{
   size(400,600);
   imgMario = loadImage("mario.png");
}
void draw()
{
   background(255);
   image(imgMario, marioX,marioY,150,150);
   marioX += marioVX;
   marioY += marioVY;
   marioVX += marioAX;
   marioVY += 0.98;
   if(marioY>500)
   {
      marioVY = - marioVY * 0.8;
      marioY = 500;
   }
   if(marioX>300) marioVX = - marioVX;
   if(marioX<0) marioVX = - marioVX;

}
void keyPressed()
{
   if(keyCode==UP) {marioY-=5;} 
   if(keyCode==DOWN) {marioY+=5;} 
   if(keyCode==LEFT) {marioX-=5; } 
   if(keyCode==RIGHT) {marioX+=5;} 
}

沒有留言:

張貼留言