2011年11月21日 星期一

上機考

這次期中考 , 雖然題目很容易 , 但還是沒寫出來 , 第一階段只有把分數 蚊子 拍子寫出來 , 但沒內容 , 邏輯有點卡住 . 好險老師有給第二階段的機會 , 請教了寫出來的同學 . 搞懂了如何把這次期中考的題目寫出來 , 主要是陣列搞懂這個題目可以輕易解決 , 因為圖片檔都有邊緣問題 , 所以我後來把拍子跟蚊子去背並試試看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);
}


沒有留言:

張貼留言