2018年9月27日 星期四

week03 矮矮的筆記

實作:

畫出美美的圖(討厭的sin cos
程式碼
void setup()
{
  size(500,500);
}
void draw()
{
  ellipse(250,250, 480,480);
  for (float angle = 0 ; angle<PI*2 ; angle+=PI/3)
  {
    triangle(250,250,
             250+240*cos(angle),250+240*sin(angle),
             250+240*cos(angle+PI/3),250+240*sin(angle+PI/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+=20)
    {
      noFill();
      triangle(250,250,
             250+R*cos(angle),250+R*sin(angle),
             250+R*cos(angle+PI/3),250+R*sin(angle+PI/3));
    }
  }
}
整齊的三角形(有密集恐懼症的人別看
程式碼
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);
      }
  }
}
小遊戲
馬力歐(上下左右移動(要自己按
程式碼
PImage imgMario;
float marioX=0, marioY=0;
void setup()
{
    size(400,600);
    imgMario = loadImage("mario.png");///只能讀一次
}
void draw()
{
  background(255);
  image(imgMario, marioX, marioY, 100,150);
}
void keyPressed()
{
   if(keyCode==UP) {marioY-=5;}
   if(keyCode==DOWN) {marioY+=5;}
   if(keyCode==LEFT) {marioX-=5;}
   if(keyCode==RIGHT) {marioX+=5;}
馬力歐拋物線掉下去

程式碼
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, 100,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;}
馬力歐自己跳
程式碼
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, 100,150);
  marioX += marioVX; marioY += marioVY;
  marioVX += marioAX; marioVY += 0.98;

   if(marioY>600-150) marioVY*=-0.9;
   if(marioX>400-100) marioVX*=-1; 
   if(marioY<0) marioVY*=-0.9; 
   if(marioX<0) marioVX*=-1;
馬力歐自己跳(有軌跡有邊界

程式碼
PImage imgMario;
float marioX=0, marioY=0, marioVX=1, marioVY=0, marioAX=0, marioAY=0.1;
void setup()
{
    size(400,600);
    imgMario = loadImage("mario.png");
}
void draw()
{
  //background(255);
  image(imgMario, marioX, marioY, 100,150);
  marioX += marioVX; marioVX +=0;
  marioY += marioVY; marioVY += 0.98;

   if(marioY>500)
   {
     marioVY = - marioVY *0.8;
     marioY=500;
   }
   if(marioX>300) marioVX = - marioVX;///邊界
   if(marioX<0) marioVX = -marioVX;

沒有留言:

張貼留言