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;
}
}




沒有留言:
張貼留言