這次期中考 , 雖然題目很容易 , 但還是沒寫出來 , 第一階段只有把分數 蚊子 拍子寫出來 , 但沒內容 , 邏輯有點卡住 . 好險老師有給第二階段的機會 , 請教了寫出來的同學 . 搞懂了如何把這次期中考的題目寫出來 , 主要是陣列搞懂這個題目可以輕易解決 , 因為圖片檔都有邊緣問題 , 所以我後來把拍子跟蚊子去背並試試看processing是否可以讀png的檔案 , 結果是行的 , 有png圖檔 ,就不用當心圖片是一塊一塊的了 .
程式碼 :
int score;
int[] X;
int[] Y;
int[] a;
PImage img;
PImage kill;
PImage cover;
void setup(){
size(800,800);
background(255);
score=0;
X= new int[50];
Y= new int[50];
a = new int[50];
img = loadImage("bug.png");
kill = loadImage("null.jpg");
cover=loadImage("hit.png");
for(int i=0;i<50;i++)
{
a[i]=1;
X[i]=(int)random(650);
Y[i]=(int)random(650);
}
for(int i=0;i<50;i++)
{
if(a[i]==1)image(img,X[i],Y[i]);
else if(a[i]==0)image(kill,X[i],Y[i]);
}
}
void draw(){
background(0);
for(int i=0;i<50;i++)
{
if(mousePressed==true)
{
if(mouseButton==LEFT)
{
if(X[i]<=mouseX && X[i]>=mouseX-50 &&Y[i]<=mouseY &&Y[i]>=mouseY-50 && a[i]==1 && score<50)
{
a[i]=0;
score++;
}
}
}
}
for(int i=0;i<50;i++)
{
if(a[i]==1)
image(img,X[i],Y[i],70,70);
else if(a[i]==0)
image(kill,X[i],Y[i],70,70);
}
if(score==50)
{
background(255);
fill(0);
text("FINISH!!",350,400);
}
PFont font;
font=loadFont("ArialMT-48.vlw");
textFont(font);
textSize(35);
text("Score:",630,750);
text(score,750,750);
image(cover,mouseX-40,mouseY-20,85,85);
}
沒有留言:
張貼留言