2020年5月22日 星期五

農場買了新的果汁機Week13

CPE ONE STAR 


技巧1:(不看英文)看輸入輸出有幾筆////把程式的迴圈寫出來


技巧2:找關係/答案


技巧3:什麼是generator?


技巧4:暴力去試,全部都試


技巧5:generator把小的 i 變成大的


技巧6:用函式來簡化程式





程式如下:

#include <stdio.h>
int genBig(int n)
{
    int ans=n;
    while(n>0)
    {
        ans+=n%10;               ////////用剝皮法,把每一個數加進來
        n/=10;                         ////////剩下來的越來越少
    }
    return ans;
}
int main()
{
    int T;                              ///////TEST CASE測試資料,有幾筆
    scanf("%d",&T);
    for(int t=0;t<T;t++)
    {
        int N;
        scanf("%d",&N);
        int ans=0;
        for(int i=1;i<=N;i++)
        {
            if(genBig(i)==N)
            {
                ans=i;
                break;
            }
        }
        printf("%d\n",ans);
    }
}



憤怒鳥GAME


程式如下:



PImage imgBird;

void setup()

{
  size(500,400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);           ///////以中心點為座標
}
void draw()
{
  background(255);                ////////背景要清不要殘影
  image (imgBird,mouseX,mouseY,100,100);
}


ps.要讓他可以跟著滑鼠移動



程式如下:

PImage imgBird;
void setup()
{
  size(500,400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);
}
float birdX=100,birdY=300,oldX,oldY;
boolean bMoving=false;
void draw()
{
  background(255);
  image (imgBird,birdX,birdY,100,100);
  if(bMoving)line(mouseX,mouseY,oldX,oldY);
}
void mousePressed()
{
  if(dist(mouseX,mouseY,birdX,birdY)<50)
  {
    bMoving=true;
    oldX=birdX; oldY=birdY;                 ///////舊的x坐標=現在bird的x坐標,舊的y坐標=現在bird的y坐標
  }
}
void mouseDragged()                             ////////滑鼠拖曳
{
  if(bMoving)
  {
    birdX=mouseX; birdY=mouseY;
  }
}



ps.要讓他發射!!



程式如下:

PImage imgBird;
void setup()
{
  size(500,400);
  imgBird=loadImage("bird.png");
  imageMode(CENTER);
}
float birdX=100,birdY=300,oldX,oldY,vx=0,vy=0;
boolean bMoving=false;
void draw()
{
  background(255);
  image (imgBird,birdX,birdY,100,100);
  if(bMoving)line(mouseX,mouseY,oldX,oldY);
  birdX+=vx; birdY+=vy; 
  if(birdX>500-50||birdX<50)vx=-vx;
  if(birdY>400-50||birdY<50)vy=-vy;
}
void mouseReleased()
{
  bMoving=false;
  vx=(oldX-mouseX)/10; vy=(oldY-mouseY)/10;
}
void mousePressed()
{
  if(dist(mouseX,mouseY,birdX,birdY)<50)
  {
    bMoving=true;
    oldX=birdX; oldY=birdY;
  }
}
void mouseDragged()
{
  if(bMoving)
  {
    birdX=mouseX; birdY=mouseY;
  }
}

沒有留言:

張貼留言